Coverage Report

Created: 2024-08-02 01:35

/src/scnlib/src/scn/impl.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Transitively includes <scn/scan.h>
21
#include <scn/regex.h>
22
#include <scn/xchar.h>
23
24
#include <algorithm>
25
#include <clocale>
26
#include <cmath>
27
#include <cwchar>
28
#include <functional>
29
#include <vector>
30
31
#if SCN_HAS_BITOPS
32
#include <bit>
33
#elif SCN_MSVC
34
#include <IntSafe.h>
35
#include <intrin.h>
36
#elif SCN_POSIX && !SCN_GCC_COMPAT
37
38
SCN_CLANG_PUSH
39
SCN_CLANG_IGNORE("-Wreserved-id-macro")
40
#define _XOPEN_SOURCE 700
41
SCN_CLANG_POP
42
43
#include <strings.h>
44
#endif
45
46
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
47
#include <regex>
48
#if SCN_REGEX_BOOST_USE_ICU
49
#error "Can't use the ICU with std::regex"
50
#endif
51
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
52
#include <boost/regex.hpp>
53
#if SCN_REGEX_BOOST_USE_ICU
54
#include <boost/regex/icu.hpp>
55
#endif
56
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
57
#include <re2/re2.h>
58
#endif
59
60
namespace scn {
61
SCN_BEGIN_NAMESPACE
62
63
/////////////////////////////////////////////////////////////////
64
// Private ranges stuff
65
/////////////////////////////////////////////////////////////////
66
67
namespace ranges {
68
69
template <typename R>
70
using const_iterator_t = iterator_t<std::add_const_t<R>>;
71
72
// Like std::ranges::distance, utilizing .position if available
73
namespace detail::distance_ {
74
struct fn {
75
private:
76
    template <typename I, typename S>
77
    static constexpr auto impl(I i, S s, priority_tag<1>)
78
        -> decltype(s.position() - i.position())
79
    {
80
        return s.position() - i.position();
81
    }
82
83
    template <typename I, typename S>
84
    static constexpr auto impl(I i, S s, priority_tag<0>)
85
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
86
121M
    {
87
121M
        return s - i;
88
121M
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<char const*, char const*>(char const*, char const*, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
86
18.1M
    {
87
18.1M
        return s - i;
88
18.1M
    }
std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
86
103M
    {
87
103M
        return s - i;
88
103M
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >, scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >, scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>, scn::v3::detail::priority_tag<0ul>)
89
90
    template <typename I, typename S>
91
    static constexpr auto impl(I i, S s, priority_tag<0>)
92
        -> std::enable_if_t<!sized_sentinel_for<S, I>, iter_difference_t<I>>
93
101M
    {
94
101M
        iter_difference_t<I> counter{0};
95
196G
        while (i != s) {
96
195G
            ++i;
97
195G
            ++counter;
98
195G
        }
99
101M
        return counter;
100
101M
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(sized_sentinel_for<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
93
3.79M
    {
94
3.79M
        iter_difference_t<I> counter{0};
95
35.5M
        while (i != s) {
96
31.7M
            ++i;
97
31.7M
            ++counter;
98
31.7M
        }
99
3.79M
        return counter;
100
3.79M
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(sized_sentinel_for<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
93
97.4M
    {
94
97.4M
        iter_difference_t<I> counter{0};
95
196G
        while (i != s) {
96
195G
            ++i;
97
195G
            ++counter;
98
195G
        }
99
97.4M
        return counter;
100
97.4M
    }
Unexecuted instantiation: std::__1::enable_if<!(sized_sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::impl<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::detail::priority_tag<0ul>)
101
102
public:
103
    template <typename I, typename S>
104
    constexpr auto operator()(I first, S last) const
105
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
106
                            iter_difference_t<I>>
107
222M
    {
108
222M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
222M
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
107
18.1M
    {
108
18.1M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
18.1M
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
107
103M
    {
108
103M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
103M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator) const
Line
Count
Source
107
3.79M
    {
108
3.79M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
3.79M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<char*> >)&&(sentinel_for<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >), scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<char*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*> >(std::__1::__wrap_iter<char*>, std::__1::__wrap_iter<char*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
Line
Count
Source
107
97.4M
    {
108
97.4M
        return fn::impl(std::move(first), std::move(last), priority_tag<0>{});
109
97.4M
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<std::__1::__wrap_iter<wchar_t*> >)&&(sentinel_for<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >), scn::v3::ranges::incrementable_traits<std::__1::__wrap_iter<wchar_t*> >::difference_type>::type scn::v3::ranges::detail::distance_::fn::operator()<std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*> >(std::__1::__wrap_iter<wchar_t*>, std::__1::__wrap_iter<wchar_t*>) const
110
};
111
}  // namespace detail::distance_
112
113
inline constexpr auto distance = detail::distance_::fn{};
114
115
namespace detail {
116
template <typename I, typename = void>
117
struct has_batch_advance : std::false_type {};
118
template <typename I>
119
struct has_batch_advance<I,
120
                         std::void_t<decltype(SCN_DECLVAL(I&).batch_advance(
121
                             SCN_DECLVAL(std::ptrdiff_t)))>> : std::true_type {
122
};
123
}  // namespace detail
124
125
// std::advance, utilizing .batch_advance if available
126
namespace detail::advance_ {
127
struct fn {
128
private:
129
    template <typename T>
130
    static constexpr T abs(T t)
131
79.9k
    {
132
79.9k
        if (t < T{0}) {
133
0
            return -t;
134
0
        }
135
79.9k
        return t;
136
79.9k
    }
137
138
    template <typename I>
139
    static constexpr auto impl(I& i, iter_difference_t<I> n, priority_tag<1>)
140
        -> std::enable_if_t<has_batch_advance<I>::value>
141
    {
142
        i.batch_advance(n);
143
    }
144
145
    template <typename I>
146
    static constexpr auto impl_i_n(I& i,
147
                                   iter_difference_t<I> n,
148
                                   priority_tag<0>)
149
        -> std::enable_if_t<random_access_iterator<I>>
150
13.2M
    {
151
13.2M
        i += n;
152
13.2M
    }
std::__1::enable_if<random_access_iterator<char const*>, void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
150
11.9M
    {
151
11.9M
        i += n;
152
11.9M
    }
std::__1::enable_if<random_access_iterator<wchar_t const*>, void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
150
1.29M
    {
151
1.29M
        i += n;
152
1.29M
    }
153
154
    template <typename I>
155
    static constexpr auto impl_i_n(I& i,
156
                                   iter_difference_t<I> n,
157
                                   priority_tag<0>)
158
        -> std::enable_if_t<bidirectional_iterator<I> &&
159
                            !random_access_iterator<I>>
160
3.01k
    {
161
3.01k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
3.01k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
3.01k
        else {
169
3.01k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
3.01k
        }
173
3.01k
    }
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
160
1.15k
    {
161
1.15k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
1.15k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
1.15k
        else {
169
1.15k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
1.15k
        }
173
1.15k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
160
1.85k
    {
161
1.85k
        constexpr auto zero = iter_difference_t<I>{0};
162
163
1.85k
        if (n > zero) {
164
0
            while (n-- > zero) {
165
0
                ++i;
166
0
            }
167
0
        }
168
1.85k
        else {
169
1.85k
            while (n++ < zero) {
170
0
                --i;
171
0
            }
172
1.85k
        }
173
1.85k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(random_access_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
174
175
    template <typename I>
176
    static constexpr auto impl_i_n(I& i,
177
                                   iter_difference_t<I> n,
178
                                   priority_tag<0>)
179
        -> std::enable_if_t<!bidirectional_iterator<I>>
180
11.6M
    {
181
38.0M
        while (n-- > iter_difference_t<I>{0}) {
182
26.4M
            ++i;
183
26.4M
        }
184
11.6M
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
180
10.7M
    {
181
35.1M
        while (n-- > iter_difference_t<I>{0}) {
182
24.4M
            ++i;
183
24.4M
        }
184
10.7M
    }
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::detail::priority_tag<0ul>)
std::__1::enable_if<!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), void>::type scn::v3::ranges::detail::advance_::fn::impl_i_n<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
180
918k
    {
181
2.92M
        while (n-- > iter_difference_t<I>{0}) {
182
2.00M
            ++i;
183
2.00M
        }
184
918k
    }
185
186
    template <typename I, typename S>
187
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<2>)
188
        -> std::enable_if_t<std::is_assignable_v<I&, S>>
189
897k
    {
190
897k
        i = std::move(bound);
191
897k
    }
_ZN3scn2v36ranges6detail8advance_2fn8impl_i_sIPKcS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
694k
    {
190
694k
        i = std::move(bound);
191
694k
    }
_ZN3scn2v36ranges6detail8advance_2fn8impl_i_sIPKwS7_EENSt3__19enable_ifIXsr3stdE15is_assignable_vIRT_T0_EEvE4typeESB_SC_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
189
203k
    {
190
203k
        i = std::move(bound);
191
203k
    }
192
193
    template <typename I, typename S>
194
    static constexpr auto impl_i_s(I& i, S bound, priority_tag<1>)
195
        -> std::enable_if_t<sized_sentinel_for<S, I>>
196
    {
197
        fn::impl_i_n(i, bound - i);
198
    }
199
200
    template <typename I, typename S>
201
    static constexpr void impl_i_s(I& i, S bound, priority_tag<0>)
202
150
    {
203
3.05k
        while (i != bound) {
204
2.90k
            ++i;
205
2.90k
        }
206
150
    }
Unexecuted instantiation: void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
202
96
    {
203
1.98k
        while (i != bound) {
204
1.88k
            ++i;
205
1.88k
        }
206
96
    }
Unexecuted instantiation: void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
void scn::v3::ranges::detail::advance_::fn::impl_i_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
202
54
    {
203
1.07k
        while (i != bound) {
204
1.02k
            ++i;
205
1.02k
        }
206
54
    }
207
208
    template <typename I, typename S>
209
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
210
        -> std::enable_if_t<sized_sentinel_for<S, I>, iter_difference_t<I>>
211
39.9k
    {
212
39.9k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
54
            auto dist = bound - i;
214
54
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
54
            return dist;
216
54
        }
217
39.9k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
39.9k
        return n;
219
39.9k
    }
std::__1::enable_if<sized_sentinel_for<char const*, char const*>, scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<char const*, char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, char const*)
Line
Count
Source
211
39.9k
    {
212
39.9k
        if (fn::abs(n) >= fn::abs(bound - i)) {
213
54
            auto dist = bound - i;
214
54
            fn::impl_i_s(i, bound, priority_tag<2>{});
215
54
            return dist;
216
54
        }
217
39.9k
        fn::impl_i_n(i, n, priority_tag<1>{});
218
39.9k
        return n;
219
39.9k
    }
Unexecuted instantiation: std::__1::enable_if<sized_sentinel_for<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*)
220
221
    template <typename I, typename S>
222
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
223
        -> std::enable_if_t<bidirectional_iterator<I> &&
224
                                !sized_sentinel_for<S, I>,
225
                            iter_difference_t<I>>
226
3.63k
    {
227
3.63k
        constexpr iter_difference_t<I> zero{0};
228
3.63k
        iter_difference_t<I> counter{0};
229
230
3.63k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
3.63k
        else {
237
12.5k
            while (n-- > zero && i != bound) {
238
8.87k
                ++i;
239
8.87k
                ++counter;
240
8.87k
            }
241
3.63k
        }
242
243
3.63k
        return counter;
244
3.63k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
226
3.06k
    {
227
3.06k
        constexpr iter_difference_t<I> zero{0};
228
3.06k
        iter_difference_t<I> counter{0};
229
230
3.06k
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
3.06k
        else {
237
10.3k
            while (n-- > zero && i != bound) {
238
7.26k
                ++i;
239
7.26k
                ++counter;
240
7.26k
            }
241
3.06k
        }
242
243
3.06k
        return counter;
244
3.06k
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
226
566
    {
227
566
        constexpr iter_difference_t<I> zero{0};
228
566
        iter_difference_t<I> counter{0};
229
230
566
        if (n < zero) {
231
0
            do {
232
0
                --i;
233
0
                --counter;  // Yes, really
234
0
            } while (++n < zero && i != bound);
235
0
        }
236
566
        else {
237
2.17k
            while (n-- > zero && i != bound) {
238
1.61k
                ++i;
239
1.61k
                ++counter;
240
1.61k
            }
241
566
        }
242
243
566
        return counter;
244
566
    }
Unexecuted instantiation: std::__1::enable_if<(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
245
246
    template <typename I, typename S>
247
    static constexpr auto impl_i_n_s(I& i, iter_difference_t<I> n, S bound)
248
        -> std::enable_if_t<!bidirectional_iterator<I> &&
249
                                !sized_sentinel_for<S, I>,
250
                            iter_difference_t<I>>
251
285k
    {
252
285k
        constexpr iter_difference_t<I> zero{0};
253
285k
        iter_difference_t<I> counter{0};
254
255
987k
        while (n-- > zero && i != bound) {
256
701k
            ++i;
257
701k
            ++counter;
258
701k
        }
259
260
285k
        return counter;
261
285k
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
std::__1::enable_if<(!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>))&&(!(sized_sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
251
285k
    {
252
285k
        constexpr iter_difference_t<I> zero{0};
253
285k
        iter_difference_t<I> counter{0};
254
255
987k
        while (n-- > zero && i != bound) {
256
701k
            ++i;
257
701k
            ++counter;
258
701k
        }
259
260
285k
        return counter;
261
285k
    }
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >))&&(!(sized_sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: std::__1::enable_if<(!(bidirectional_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>))&&(!(sized_sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::impl_i_n_s<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t)
262
263
public:
264
    template <typename I>
265
    constexpr auto operator()(I& i, iter_difference_t<I> n) const
266
        -> std::enable_if_t<input_or_output_iterator<I>>
267
24.8M
    {
268
24.8M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
24.8M
    }
std::__1::enable_if<input_or_output_iterator<char const*>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
267
11.9M
    {
268
11.9M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
11.9M
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
267
1.29M
    {
268
1.29M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.29M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Line
Count
Source
267
1.15k
    {
268
1.15k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.15k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Line
Count
Source
267
10.7M
    {
268
10.7M
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
10.7M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Line
Count
Source
267
918k
    {
268
918k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
918k
    }
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Line
Count
Source
267
1.85k
    {
268
1.85k
        fn::impl_i_n(i, n, detail::priority_tag<1>{});
269
1.85k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
270
271
    template <typename I, typename S>
272
    constexpr auto operator()(I& i, S bound) const
273
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>
274
897k
    {
275
897k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
897k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), void>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, char const*) const
Line
Count
Source
274
694k
    {
275
694k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
694k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
274
96
    {
275
96
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
96
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), void>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, wchar_t const*) const
Line
Count
Source
274
203k
    {
275
203k
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
203k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), void>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
274
54
    {
275
54
        fn::impl_i_s(i, bound, priority_tag<2>{});
276
54
    }
277
278
    template <typename I, typename S>
279
    constexpr auto operator()(I& i, iter_difference_t<I> n, S bound) const
280
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
281
                            iter_difference_t<I>>
282
329k
    {
283
329k
        return n - fn::impl_i_n_s(i, n, bound);
284
329k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
282
3.06k
    {
283
3.06k
        return n - fn::impl_i_n_s(i, n, bound);
284
3.06k
    }
std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>)&&(sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t) const
Line
Count
Source
282
285k
    {
283
285k
        return n - fn::impl_i_n_s(i, n, bound);
284
285k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), scn::v3::ranges::incrementable_traits<char const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<char const*, char const*>(char const*&, scn::v3::ranges::incrementable_traits<char const*>::difference_type, char const*) const
Line
Count
Source
282
39.9k
    {
283
39.9k
        return n - fn::impl_i_n_s(i, n, bound);
284
39.9k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*&, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type, wchar_t const*) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>)&&(sentinel_for<scn::v3::ranges::default_sentinel_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>), scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type, scn::v3::ranges::default_sentinel_t) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>) const
Line
Count
Source
282
566
    {
283
566
        return n - fn::impl_i_n_s(i, n, bound);
284
566
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >), scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type>::type scn::v3::ranges::detail::advance_::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>) const
285
};
286
}  // namespace detail::advance_
287
288
inline constexpr auto advance = detail::advance_::fn{};
289
290
namespace next_impl {
291
struct fn {
292
    template <typename I>
293
    constexpr auto operator()(I x) const
294
        -> std::enable_if_t<input_or_output_iterator<I>, I>
295
370M
    {
296
370M
        ++x;
297
370M
        return x;
298
370M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator) const
Line
Count
Source
295
6.08M
    {
296
6.08M
        ++x;
297
6.08M
        return x;
298
6.08M
    }
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>) const
Line
Count
Source
295
1.89k
    {
296
1.89k
        ++x;
297
1.89k
        return x;
298
1.89k
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*>(char const*) const
Line
Count
Source
295
4.34M
    {
296
4.34M
        ++x;
297
4.34M
        return x;
298
4.34M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator) const
Line
Count
Source
295
1.09M
    {
296
1.09M
        ++x;
297
1.09M
        return x;
298
1.09M
    }
std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>) const
Line
Count
Source
295
836
    {
296
836
        ++x;
297
836
        return x;
298
836
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*) const
Line
Count
Source
295
359M
    {
296
359M
        ++x;
297
359M
        return x;
298
359M
    }
299
300
    template <typename I>
301
    constexpr auto operator()(I x, iter_difference_t<I> n) const
302
        -> std::enable_if_t<input_or_output_iterator<I>, I>
303
21.1M
    {
304
21.1M
        ranges::advance(x, n);
305
21.1M
        return x;
306
21.1M
    }
std::__1::enable_if<input_or_output_iterator<char const*>, char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*>(char const*, scn::v3::ranges::incrementable_traits<char const*>::difference_type) const
Line
Count
Source
303
11.9M
    {
304
11.9M
        ranges::advance(x, n);
305
11.9M
        return x;
306
11.9M
    }
std::__1::enable_if<input_or_output_iterator<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*>(wchar_t const*, scn::v3::ranges::incrementable_traits<wchar_t const*>::difference_type) const
Line
Count
Source
303
1.29M
    {
304
1.29M
        ranges::advance(x, n);
305
1.29M
        return x;
306
1.29M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::difference_type) const
Line
Count
Source
303
6.96M
    {
304
6.96M
        ranges::advance(x, n);
305
6.96M
        return x;
306
6.96M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >::difference_type) const
std::__1::enable_if<input_or_output_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::incrementable_traits<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::difference_type) const
Line
Count
Source
303
918k
    {
304
918k
        ranges::advance(x, n);
305
918k
        return x;
306
918k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >::difference_type) const
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::ranges::incrementable_traits<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >::difference_type) const
307
308
    template <typename I, typename S>
309
    constexpr auto operator()(I x, S bound) const
310
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
311
                            I>
312
897k
    {
313
897k
        ranges::advance(x, bound);
314
897k
        return x;
315
897k
    }
std::__1::enable_if<(input_or_output_iterator<char const*>)&&(sentinel_for<char const*, char const*>), char const*>::type scn::v3::ranges::next_impl::fn::operator()<char const*, char const*>(char const*, char const*) const
Line
Count
Source
312
694k
    {
313
694k
        ranges::advance(x, bound);
314
694k
        return x;
315
694k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>) const
Line
Count
Source
312
96
    {
313
96
        ranges::advance(x, bound);
314
96
        return x;
315
96
    }
std::__1::enable_if<(input_or_output_iterator<wchar_t const*>)&&(sentinel_for<wchar_t const*, wchar_t const*>), wchar_t const*>::type scn::v3::ranges::next_impl::fn::operator()<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*) const
Line
Count
Source
312
203k
    {
313
203k
        ranges::advance(x, bound);
314
203k
        return x;
315
203k
    }
Unexecuted instantiation: std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>) const
std::__1::enable_if<(input_or_output_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >)&&(sentinel_for<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >), scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::type scn::v3::ranges::next_impl::fn::operator()<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>) const
Line
Count
Source
312
54
    {
313
54
        ranges::advance(x, bound);
314
54
        return x;
315
54
    }
316
317
    template <typename I, typename S>
318
    constexpr auto operator()(I x, iter_difference_t<I> n, S bound) const
319
        -> std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>,
320
                            I>
321
    {
322
        ranges::advance(x, n, bound);
323
        return x;
324
    }
325
};
326
}  // namespace next_impl
327
328
inline constexpr next_impl::fn next{};
329
330
// prev, for forward_iterators
331
namespace detail::prev_backtrack_ {
332
struct fn {
333
private:
334
    template <typename It>
335
    static constexpr auto impl(It it, It, priority_tag<2>)
336
        -> std::enable_if_t<bidirectional_iterator<It>, It>
337
    {
338
        --it;
339
        return it;
340
    }
341
342
    template <typename It>
343
    static constexpr auto impl(It it, It beg, priority_tag<1>)
344
        -> remove_cvref_t<decltype((void)beg.batch_advance(42), it)>
345
    {
346
        return beg.batch_advance(it.position() - 1);
347
    }
348
349
    template <typename It>
350
    static constexpr auto impl(It it, It beg, priority_tag<0>)
351
        -> std::enable_if_t<forward_iterator<It>, It>
352
    {
353
        SCN_EXPECT(it != beg);
354
355
        while (true) {
356
            auto tmp = beg;
357
            ++beg;
358
            if (beg == it) {
359
                return tmp;
360
            }
361
        }
362
    }
363
364
public:
365
    template <typename It>
366
    constexpr auto operator()(It it, It beg) const
367
        -> decltype(fn::impl(it, beg, priority_tag<2>{}))
368
    {
369
        return fn::impl(it, beg, priority_tag<2>{});
370
    }
371
};
372
}  // namespace detail::prev_backtrack_
373
374
inline constexpr auto prev_backtrack = detail::prev_backtrack_::fn{};
375
376
// operator<, for forward_iterators
377
namespace detail::less_backtrack_ {
378
struct fn {
379
private:
380
    template <typename It>
381
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<2>)
382
        -> decltype(static_cast<void>(lhs < rhs), true)
383
    {
384
        return lhs < rhs;
385
    }
386
387
    template <typename It>
388
    static constexpr auto impl(It lhs, It rhs, It, priority_tag<1>)
389
        -> decltype(static_cast<void>(lhs.position() < rhs.position()), true)
390
    {
391
        return lhs.position() < rhs.position();
392
    }
393
394
    template <typename It>
395
    static constexpr auto impl(It lhs, It rhs, It beg, priority_tag<0>)
396
        -> std::enable_if_t<ranges::forward_iterator<It>, bool>
397
    {
398
        while (true) {
399
            if (beg == rhs) {
400
                return false;
401
            }
402
            if (beg == lhs) {
403
                return true;
404
            }
405
            ++beg;
406
        }
407
    }
408
409
public:
410
    template <typename It>
411
    constexpr auto operator()(It lhs, It rhs, It beg) const
412
        -> decltype(fn::impl(lhs, rhs, beg, priority_tag<2>{}))
413
    {
414
        return fn::impl(lhs, rhs, beg, priority_tag<2>{});
415
    }
416
};
417
}  // namespace detail::less_backtrack_
418
419
inline constexpr auto less_backtrack = detail::less_backtrack_::fn{};
420
421
}  // namespace ranges
422
423
/////////////////////////////////////////////////////////////////
424
// ASCII-only locale-free <cctype>
425
/////////////////////////////////////////////////////////////////
426
427
namespace impl {
428
inline constexpr std::array<bool, 256> is_ascii_space_lookup = {
429
    {false, false, false, false, false, false, false, false, false, true,
430
     true,  true,  true,  true,  false, false, false, false, false, false,
431
     false, false, false, false, false, false, false, false, false, false,
432
     false, false, true,  false, false, false, false, false, false, false,
433
     false, false, false, false, false, false, false, false, false, false,
434
     false, false, false, false, false, false, false, false, false, false,
435
     false, false, false, false, false, false, false, false, false, false,
436
     false, false, false, false, false, false, false, false, false, false,
437
     false, false, false, false, false, false, false, false, false, false,
438
     false, false, false, false, false, false, false, false, false, false,
439
     false, false, false, false, false, false, false, false, false, false,
440
     false, false, false, false, false, false, false, false, false, false,
441
     false, false, false, false, false, false, false, false, false, false,
442
     false, false, false, false, false, false, false, false, false, false,
443
     false, false, false, false, false, false, false, false, false, false,
444
     false, false, false, false, false, false, false, false, false, false,
445
     false, false, false, false, false, false, false, false, false, false,
446
     false, false, false, false, false, false, false, false, false, false,
447
     false, false, false, false, false, false, false, false, false, false,
448
     false, false, false, false, false, false, false, false, false, false,
449
     false, false, false, false, false, false, false, false, false, false,
450
     false, false, false, false, false, false, false, false, false, false,
451
     false, false, false, false, false, false, false, false, false, false,
452
     false, false, false, false, false, false, false, false, false, false,
453
     false, false, false, false, false, false, false, false, false, false,
454
     false, false, false, false, false, false}};
455
456
constexpr bool is_ascii_space(char ch) noexcept
457
28.0M
{
458
28.0M
    return is_ascii_space_lookup[static_cast<size_t>(
459
28.0M
        static_cast<unsigned char>(ch))];
460
28.0M
}
461
462
constexpr bool is_ascii_space(wchar_t ch) noexcept
463
0
{
464
0
    return ch == 0x20 || (ch >= 0x09 && ch <= 0x0d);
465
0
}
466
467
constexpr bool is_ascii_char(char ch) noexcept
468
459k
{
469
459k
    return static_cast<unsigned char>(ch) <= 127;
470
459k
}
471
472
constexpr bool is_ascii_char(wchar_t ch) noexcept
473
29.5k
{
474
29.5k
#if WCHAR_MIN < 0
475
29.5k
    return ch >= 0 && ch <= 127;
476
#else
477
    return ch <= 127;
478
#endif
479
29.5k
}
480
481
constexpr bool is_ascii_char(char32_t cp) noexcept
482
340k
{
483
340k
    return cp <= 127;
484
340k
}
485
486
/////////////////////////////////////////////////////////////////
487
// <bits>
488
/////////////////////////////////////////////////////////////////
489
490
inline int count_trailing_zeroes(uint64_t val)
491
0
{
492
0
    SCN_EXPECT(val != 0);
493
0
#if SCN_HAS_BITOPS
494
0
    return std::countr_zero(val);
495
0
#elif SCN_GCC_COMPAT
496
0
    return __builtin_ctzll(val);
497
0
#elif SCN_MSVC && SCN_WINDOWS_64BIT
498
0
    DWORD ret{};
499
0
    _BitScanForward64(&ret, val);
500
0
    return static_cast<int>(ret);
501
0
#elif SCN_MSVC && !SCN_WINDOWS_64BIT
502
0
    DWORD ret{};
503
0
    if (_BitScanForward(&ret, static_cast<uint32_t>(val))) {
504
0
        return static_cast<int>(ret);
505
0
    }
506
0
507
0
    _BitScanForward(&ret, static_cast<uint32_t>(val >> 32));
508
0
    return static_cast<int>(ret + 32);
509
0
#elif SCN_POSIX
510
0
    return ::ctzll(val);
511
0
#else
512
0
#define SCN_HAS_BITS_CTZ 0
513
0
    SCN_EXPECT(false);
514
0
    SCN_UNREACHABLE;
515
0
#endif
516
0
}
517
518
#ifndef SCN_HAS_BITS_CTZ
519
#define SCN_HAS_BITS_CTZ 1
520
#endif
521
522
constexpr uint64_t has_zero_byte(uint64_t word)
523
0
{
524
0
    return (word - 0x0101010101010101ull) & ~word & 0x8080808080808080ull;
525
0
}
526
527
constexpr uint64_t has_byte_between(uint64_t word, uint8_t a, uint8_t b)
528
0
{
529
0
    const auto m = static_cast<uint64_t>(a) - 1,
530
0
               n = static_cast<uint64_t>(b) + 1;
531
0
    return (((~0ull / 255 * (127 + (n)) - ((word) & ~0ull / 255 * 127)) &
532
0
             ~(word) &
533
0
             (((word) & ~0ull / 255 * 127) + ~0ull / 255 * (127 - (m)))) &
534
0
            (~0ull / 255 * 128));
535
0
}
536
537
constexpr uint64_t has_byte_greater(uint64_t word, uint8_t n)
538
8.79M
{
539
8.79M
    return (word + ~0ull / 255 * (127 - n) | word) & ~0ull / 255 * 128;
540
8.79M
}
541
542
inline size_t get_index_of_first_nonmatching_byte(uint64_t word)
543
0
{
544
0
    word ^= 0x8080808080808080ull;
545
0
    if (word == 0) {
546
0
        return 8;
547
0
    }
548
0
    return static_cast<size_t>(count_trailing_zeroes(word)) / 8;
549
0
}
550
551
inline size_t get_index_of_first_matching_byte(uint64_t word, uint64_t pattern)
552
0
{
553
0
    constexpr auto mask = 0x7f7f7f7f7f7f7f7full;
554
0
    auto input = word ^ pattern;
555
0
    auto tmp = (input & mask) + mask;
556
0
    tmp = ~(tmp | input | mask);
557
0
    return static_cast<size_t>(count_trailing_zeroes(tmp)) / 8;
558
0
}
559
560
constexpr uint32_t log2_fast(uint32_t val)
561
0
{
562
0
    constexpr uint8_t lookup[] = {0,  9,  1,  10, 13, 21, 2,  29, 11, 14, 16,
563
0
                                  18, 22, 25, 3,  30, 8,  12, 20, 28, 15, 17,
564
0
                                  24, 7,  19, 27, 23, 6,  26, 5,  4,  31};
565
0
566
0
    val |= val >> 1;
567
0
    val |= val >> 2;
568
0
    val |= val >> 4;
569
0
    val |= val >> 8;
570
0
    val |= val >> 16;
571
0
572
0
    return static_cast<uint32_t>(lookup[(val * 0x07c4acddu) >> 27]);
573
0
}
574
575
constexpr uint32_t log2_pow2_fast(uint32_t val)
576
0
{
577
0
    constexpr uint8_t lookup[] = {0,  1,  28, 2,  29, 14, 24, 3,  30, 22, 20,
578
0
                                  15, 25, 17, 4,  8,  31, 27, 13, 23, 21, 19,
579
0
                                  16, 7,  26, 12, 18, 6,  11, 5,  10, 9};
580
0
581
0
    return static_cast<uint32_t>(lookup[(val * 0x077cb531u) >> 27]);
582
0
}
583
584
constexpr uint64_t byteswap(uint64_t val)
585
0
{
586
0
    return (val & 0xFF00000000000000) >> 56 | (val & 0x00FF000000000000) >> 40 |
587
0
           (val & 0x0000FF0000000000) >> 24 | (val & 0x000000FF00000000) >> 8 |
588
0
           (val & 0x00000000FF000000) << 8 | (val & 0x0000000000FF0000) << 24 |
589
0
           (val & 0x000000000000FF00) << 40 | (val & 0x00000000000000FF) << 56;
590
0
}
591
592
/////////////////////////////////////////////////////////////////
593
// <function_ref>
594
/////////////////////////////////////////////////////////////////
595
596
namespace fnref_detail {
597
template <class T>
598
inline constexpr auto select_param_type = [] {
599
    if constexpr (std::is_trivially_copyable_v<T>) {
600
        return detail::type_identity<T>();
601
    }
602
    else {
603
        return std::add_rvalue_reference<T>();
604
    }
605
};
606
607
template <class T>
608
using param_t =
609
    typename std::invoke_result_t<decltype(select_param_type<T>)>::type;
610
611
template <typename Sig>
612
struct qual_fn_sig;
613
614
template <typename R, typename... Args>
615
struct qual_fn_sig<R(Args...)> {
616
    using function = R(Args...);
617
618
    static constexpr bool is_noexcept = false;
619
620
    template <typename... T>
621
    static constexpr bool is_invocable_using =
622
        std::is_invocable_r_v<R, T..., Args...>;
623
624
    template <typename T>
625
    using cv = T;
626
};
627
628
template <typename R, typename... Args>
629
struct qual_fn_sig<R(Args...) noexcept> {
630
    using function = R(Args...);
631
632
    static constexpr bool is_noexcept = true;
633
634
    template <typename... T>
635
    static constexpr bool is_invocable_using =
636
        std::is_nothrow_invocable_r_v<R, T..., Args...>;
637
638
    template <typename T>
639
    using cv = T;
640
};
641
642
template <typename R, typename... Args>
643
struct qual_fn_sig<R(Args...) const> : qual_fn_sig<R(Args...)> {
644
    template <typename T>
645
    using cv = T const;
646
};
647
648
template <typename R, typename... Args>
649
struct qual_fn_sig<R(Args...) const noexcept>
650
    : qual_fn_sig<R(Args...) noexcept> {
651
    template <typename T>
652
    using cv = T const;
653
};
654
655
struct base {
656
    union storage {
657
        constexpr storage() = default;
658
659
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
660
        constexpr explicit storage(T* p) noexcept : m_p(p)
661
57.0M
        {
662
57.0M
        }
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >*)
Line
Count
Source
661
4.55M
        {
662
4.55M
        }
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >*)
Line
Count
Source
661
15.8M
        {
662
15.8M
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_LPv0EEEPSS_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_LPv0EEEPSK_
Line
Count
Source
661
1.65M
        {
662
1.65M
        }
scn::v3::impl::fnref_detail::base::storage::storage<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}*)
Line
Count
Source
661
21.4k
        {
662
21.4k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_LPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_LPv0EEEPSP_
Line
Count
Source
661
790
        {
662
790
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
428
        {
662
428
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_LPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_LPv0EEEPSM_
Line
Count
Source
661
2.67k
        {
662
2.67k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_LPv0EEEPSM_
Line
Count
Source
661
532k
        {
662
532k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
114k
        {
662
114k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_LPv0EEEPSM_
Line
Count
Source
661
1.63M
        {
662
1.63M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
76.6k
        {
662
76.6k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
196k
        {
662
196k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_LPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_LPv0EEEPSR_
Line
Count
Source
661
6
        {
662
6
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_LPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_LPv0EEEPSR_
Line
Count
Source
661
260
        {
662
260
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_LPv0EEEPSJ_
Line
Count
Source
661
2.65k
        {
662
2.65k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_LPv0EEEPSI_
Line
Count
Source
661
30.0k
        {
662
30.0k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_LPv0EEEPSJ_
Line
Count
Source
661
559k
        {
662
559k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
66.4k
        {
662
66.4k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
172k
        {
662
172k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
81.0k
        {
662
81.0k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
203k
        {
662
203k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Line
Count
Source
661
8
        {
662
8
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
Line
Count
Source
661
258
        {
662
258
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
69.6k
        {
662
69.6k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
178k
        {
662
178k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
82.3k
        {
662
82.3k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
205k
        {
662
205k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
70.7k
        {
662
70.7k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
179k
        {
662
179k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
301k
        {
662
301k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
726
        {
662
726
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
34
        {
662
34
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
30
        {
662
30
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
34
        {
662
34
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
30
        {
662
30
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_LPv0EEEPSL_
Line
Count
Source
661
34
        {
662
34
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_LPv0EEEPSJ_
Line
Count
Source
661
30
        {
662
30
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
3.44M
        {
662
3.44M
        }
scn::v3::impl::fnref_detail::base::storage::storage<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >*)
Line
Count
Source
661
1.03M
        {
662
1.03M
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_LPv0EEEPSS_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_LPv0EEEPSK_
Line
Count
Source
661
303k
        {
662
303k
        }
scn::v3::impl::fnref_detail::base::storage::storage<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}*)
Line
Count
Source
661
3.34k
        {
662
3.34k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_LPv0EEEPSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_LPv0EEEPSE_
Line
Count
Source
661
69.9k
        {
662
69.9k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_LPv0EEEPSP_
Line
Count
Source
661
346
        {
662
346
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
78
        {
662
78
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
Line
Count
Source
661
8.04M
        {
662
8.04M
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_LPv0EEEPST_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_LPv0EEEPSU_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_LPv0EEEPSM_
Line
Count
Source
661
89.3k
        {
662
89.3k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
5.27k
        {
662
5.27k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_LPv0EEEPSM_
Line
Count
Source
661
409k
        {
662
409k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
17.7k
        {
662
17.7k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
62.3k
        {
662
62.3k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_LPv0EEEPSR_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_LPv0EEEPSR_
Line
Count
Source
661
6
        {
662
6
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_LPv0EEEPSQ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_LPv0EEEPSR_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_LPv0EEEPSR_
Line
Count
Source
661
108
        {
662
108
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEfEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_LPv0EEEPSI_
Line
Count
Source
661
1.90k
        {
662
1.90k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_LPv0EEEPSJ_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_LPv0EEEPSJ_
Line
Count
Source
661
195k
        {
662
195k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
17.7k
        {
662
17.7k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
62.3k
        {
662
62.3k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
18.2k
        {
662
18.2k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
62.8k
        {
662
62.8k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
Line
Count
Source
661
6
        {
662
6
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEdEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
Line
Count
Source
661
108
        {
662
108
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
18.2k
        {
662
18.2k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
63.2k
        {
662
63.2k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERT0_NSE_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
18.5k
        {
662
18.5k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSM_
Line
Count
Source
661
63.2k
        {
662
63.2k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEeEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
18.5k
        {
662
18.5k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_LPv0EEEPSJ_
Line
Count
Source
661
63.3k
        {
662
63.3k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_LPv0EEEPSO_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
3.60M
        {
662
3.60M
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_LPv0EEEPSI_
Line
Count
Source
661
294
        {
662
294
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
20
        {
662
20
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_LPv0EEEPSG_
Line
Count
Source
661
7.23M
        {
662
7.23M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_LPv0EEEPSJ_
Line
Count
Source
661
26
        {
662
26
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
20
        {
662
20
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_LPv0EEEPSJ_
Line
Count
Source
661
26
        {
662
26
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_LPv0EEEPSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_LPv0EEEPSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_LPv0EEEPSJ_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_LPv0EEEPSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_LPv0EEEPSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_LPv0EEEPSL_
Line
Count
Source
661
20
        {
662
20
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_LPv0EEEPSJ_
Line
Count
Source
661
26
        {
662
26
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
4.28M
        {
662
4.28M
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_LPv0EEEPSE_
Line
Count
Source
661
159k
        {
662
159k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
99.6k
        {
662
99.6k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
105k
        {
662
105k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
106k
        {
662
106k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
105k
        {
662
105k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
110k
        {
662
110k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
111k
        {
662
111k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
1.85k
        {
662
1.85k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
26.6k
        {
662
26.6k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
37.5k
        {
662
37.5k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSJ_
Line
Count
Source
661
27.8k
        {
662
27.8k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_LPv0EEEPSJ_
Line
Count
Source
661
724
        {
662
724
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
26.5k
        {
662
26.5k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
27.3k
        {
662
27.3k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_LPv0EEEPSM_
Line
Count
Source
661
27.8k
        {
662
27.8k
        }
663
664
        template <typename T, std::enable_if_t<std::is_object_v<T>>* = nullptr>
665
        constexpr explicit storage(const T* p) noexcept : m_cp(p)
666
54.1k
        {
667
54.1k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_LPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_LPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSF_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSH_
Line
Count
Source
666
1.81k
        {
667
1.81k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_LPv0EEEPKSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_LPv0EEEPKSM_
Line
Count
Source
666
6.46k
        {
667
6.46k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_LPv0EEEPKSL_
Line
Count
Source
666
318
        {
667
318
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_LPv0EEEPKSL_
Line
Count
Source
666
300
        {
667
300
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_LPv0EEEPKSJ_
Line
Count
Source
666
2.36k
        {
667
2.36k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_LPv0EEEPKSJ_
Line
Count
Source
666
13.2k
        {
667
13.2k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_LPv0EEEPKSM_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_LPv0EEEPKSK_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSH_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSF_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSH_
Line
Count
Source
666
406
        {
667
406
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_LPv0EEEPKSO_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_LPv0EEEPKSM_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_LPv0EEEPKSM_
Line
Count
Source
666
9.37k
        {
667
9.37k
        }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_LPv0EEEPKSL_
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_LPv0EEEPKSL_
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_LPv0EEEPKSJ_
Line
Count
Source
666
288
        {
667
288
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_LPv0EEEPKSJ_
Line
Count
Source
666
18.8k
        {
667
18.8k
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_LPv0EEEPKSJ_
Line
Count
Source
666
494
        {
667
494
        }
_ZN3scn2v34impl12fnref_detail4base7storageC2IZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_LPv0EEEPKSJ_
Line
Count
Source
666
234
        {
667
234
        }
668
669
        template <typename F,
670
                  std::enable_if_t<std::is_function_v<F>>* = nullptr>
671
        constexpr explicit storage(F* f) noexcept
672
            : m_fp(reinterpret_cast<decltype(m_fp)>(f))
673
        {
674
        }
675
676
        void* m_p{nullptr};
677
        const void* m_cp;
678
        void (*m_fp)();
679
    };
680
681
    template <typename T>
682
    static constexpr auto get(storage s)
683
319M
    {
684
319M
        if constexpr (std::is_const_v<T>) {
685
319M
            return static_cast<T*>(s.m_cp);
686
319M
        }
687
319M
        else if constexpr (std::is_object_v<T>) {
688
319M
            return static_cast<T*>(s.m_p);
689
319M
        }
690
319M
        else {
691
319M
            return reinterpret_cast<T*>(s.m_fp);
692
319M
        }
693
319M
    }
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
21.8M
    {
684
21.8M
        if constexpr (std::is_const_v<T>) {
685
21.8M
            return static_cast<T*>(s.m_cp);
686
21.8M
        }
687
21.8M
        else if constexpr (std::is_object_v<T>) {
688
21.8M
            return static_cast<T*>(s.m_p);
689
21.8M
        }
690
21.8M
        else {
691
21.8M
            return reinterpret_cast<T*>(s.m_fp);
692
21.8M
        }
693
21.8M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlcE_EEDaNS3_7storageE
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
33.5M
    {
684
33.5M
        if constexpr (std::is_const_v<T>) {
685
33.5M
            return static_cast<T*>(s.m_cp);
686
33.5M
        }
687
33.5M
        else if constexpr (std::is_object_v<T>) {
688
33.5M
            return static_cast<T*>(s.m_p);
689
33.5M
        }
690
33.5M
        else {
691
33.5M
            return reinterpret_cast<T*>(s.m_fp);
692
33.5M
        }
693
33.5M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
6.49M
    {
684
6.49M
        if constexpr (std::is_const_v<T>) {
685
6.49M
            return static_cast<T*>(s.m_cp);
686
6.49M
        }
687
6.49M
        else if constexpr (std::is_object_v<T>) {
688
6.49M
            return static_cast<T*>(s.m_p);
689
6.49M
        }
690
6.49M
        else {
691
6.49M
            return reinterpret_cast<T*>(s.m_fp);
692
6.49M
        }
693
6.49M
    }
auto scn::v3::impl::fnref_detail::base::get<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}>(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
36.3k
    {
684
36.3k
        if constexpr (std::is_const_v<T>) {
685
36.3k
            return static_cast<T*>(s.m_cp);
686
36.3k
        }
687
36.3k
        else if constexpr (std::is_object_v<T>) {
688
36.3k
            return static_cast<T*>(s.m_p);
689
36.3k
        }
690
36.3k
        else {
691
36.3k
            return reinterpret_cast<T*>(s.m_fp);
692
36.3k
        }
693
36.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
790
    {
684
790
        if constexpr (std::is_const_v<T>) {
685
790
            return static_cast<T*>(s.m_cp);
686
790
        }
687
790
        else if constexpr (std::is_object_v<T>) {
688
790
            return static_cast<T*>(s.m_p);
689
790
        }
690
790
        else {
691
790
            return reinterpret_cast<T*>(s.m_fp);
692
790
        }
693
790
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
2.24k
    {
684
2.24k
        if constexpr (std::is_const_v<T>) {
685
2.24k
            return static_cast<T*>(s.m_cp);
686
2.24k
        }
687
2.24k
        else if constexpr (std::is_object_v<T>) {
688
2.24k
            return static_cast<T*>(s.m_p);
689
2.24k
        }
690
2.24k
        else {
691
2.24k
            return reinterpret_cast<T*>(s.m_fp);
692
2.24k
        }
693
2.24k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
1.23k
    {
684
1.23k
        if constexpr (std::is_const_v<T>) {
685
1.23k
            return static_cast<T*>(s.m_cp);
686
1.23k
        }
687
1.23k
        else if constexpr (std::is_object_v<T>) {
688
1.23k
            return static_cast<T*>(s.m_p);
689
1.23k
        }
690
1.23k
        else {
691
1.23k
            return reinterpret_cast<T*>(s.m_fp);
692
1.23k
        }
693
1.23k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlcE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
76.6k
    {
684
76.6k
        if constexpr (std::is_const_v<T>) {
685
76.6k
            return static_cast<T*>(s.m_cp);
686
76.6k
        }
687
76.6k
        else if constexpr (std::is_object_v<T>) {
688
76.6k
            return static_cast<T*>(s.m_p);
689
76.6k
        }
690
76.6k
        else {
691
76.6k
            return reinterpret_cast<T*>(s.m_fp);
692
76.6k
        }
693
76.6k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlcE_EEDaNS3_7storageE
Line
Count
Source
683
22.1k
    {
684
22.1k
        if constexpr (std::is_const_v<T>) {
685
22.1k
            return static_cast<T*>(s.m_cp);
686
22.1k
        }
687
22.1k
        else if constexpr (std::is_object_v<T>) {
688
22.1k
            return static_cast<T*>(s.m_p);
689
22.1k
        }
690
22.1k
        else {
691
22.1k
            return reinterpret_cast<T*>(s.m_fp);
692
22.1k
        }
693
22.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
2.73M
    {
684
2.73M
        if constexpr (std::is_const_v<T>) {
685
2.73M
            return static_cast<T*>(s.m_cp);
686
2.73M
        }
687
2.73M
        else if constexpr (std::is_object_v<T>) {
688
2.73M
            return static_cast<T*>(s.m_p);
689
2.73M
        }
690
2.73M
        else {
691
2.73M
            return reinterpret_cast<T*>(s.m_fp);
692
2.73M
        }
693
2.73M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
365k
    {
684
365k
        if constexpr (std::is_const_v<T>) {
685
365k
            return static_cast<T*>(s.m_cp);
686
365k
        }
687
365k
        else if constexpr (std::is_object_v<T>) {
688
365k
            return static_cast<T*>(s.m_p);
689
365k
        }
690
365k
        else {
691
365k
            return reinterpret_cast<T*>(s.m_fp);
692
365k
        }
693
365k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
9.06M
    {
684
9.06M
        if constexpr (std::is_const_v<T>) {
685
9.06M
            return static_cast<T*>(s.m_cp);
686
9.06M
        }
687
9.06M
        else if constexpr (std::is_object_v<T>) {
688
9.06M
            return static_cast<T*>(s.m_p);
689
9.06M
        }
690
9.06M
        else {
691
9.06M
            return reinterpret_cast<T*>(s.m_fp);
692
9.06M
        }
693
9.06M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
196k
    {
684
196k
        if constexpr (std::is_const_v<T>) {
685
196k
            return static_cast<T*>(s.m_cp);
686
196k
        }
687
196k
        else if constexpr (std::is_object_v<T>) {
688
196k
            return static_cast<T*>(s.m_p);
689
196k
        }
690
196k
        else {
691
196k
            return reinterpret_cast<T*>(s.m_fp);
692
196k
        }
693
196k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
6
    {
684
6
        if constexpr (std::is_const_v<T>) {
685
6
            return static_cast<T*>(s.m_cp);
686
6
        }
687
6
        else if constexpr (std::is_object_v<T>) {
688
6
            return static_cast<T*>(s.m_p);
689
6
        }
690
6
        else {
691
6
            return reinterpret_cast<T*>(s.m_fp);
692
6
        }
693
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
260
    {
684
260
        if constexpr (std::is_const_v<T>) {
685
260
            return static_cast<T*>(s.m_cp);
686
260
        }
687
260
        else if constexpr (std::is_object_v<T>) {
688
260
            return static_cast<T*>(s.m_p);
689
260
        }
690
260
        else {
691
260
            return reinterpret_cast<T*>(s.m_fp);
692
260
        }
693
260
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
66.4k
    {
684
66.4k
        if constexpr (std::is_const_v<T>) {
685
66.4k
            return static_cast<T*>(s.m_cp);
686
66.4k
        }
687
66.4k
        else if constexpr (std::is_object_v<T>) {
688
66.4k
            return static_cast<T*>(s.m_p);
689
66.4k
        }
690
66.4k
        else {
691
66.4k
            return reinterpret_cast<T*>(s.m_fp);
692
66.4k
        }
693
66.4k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlcE_EEDaNS3_7storageE
Line
Count
Source
683
22.1k
    {
684
22.1k
        if constexpr (std::is_const_v<T>) {
685
22.1k
            return static_cast<T*>(s.m_cp);
686
22.1k
        }
687
22.1k
        else if constexpr (std::is_object_v<T>) {
688
22.1k
            return static_cast<T*>(s.m_p);
689
22.1k
        }
690
22.1k
        else {
691
22.1k
            return reinterpret_cast<T*>(s.m_fp);
692
22.1k
        }
693
22.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
89.3k
    {
684
89.3k
        if constexpr (std::is_const_v<T>) {
685
89.3k
            return static_cast<T*>(s.m_cp);
686
89.3k
        }
687
89.3k
        else if constexpr (std::is_object_v<T>) {
688
89.3k
            return static_cast<T*>(s.m_p);
689
89.3k
        }
690
89.3k
        else {
691
89.3k
            return reinterpret_cast<T*>(s.m_fp);
692
89.3k
        }
693
89.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlcE0_EEDaNS3_7storageE
Line
Count
Source
683
2.99M
    {
684
2.99M
        if constexpr (std::is_const_v<T>) {
685
2.99M
            return static_cast<T*>(s.m_cp);
686
2.99M
        }
687
2.99M
        else if constexpr (std::is_object_v<T>) {
688
2.99M
            return static_cast<T*>(s.m_p);
689
2.99M
        }
690
2.99M
        else {
691
2.99M
            return reinterpret_cast<T*>(s.m_fp);
692
2.99M
        }
693
2.99M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
172k
    {
684
172k
        if constexpr (std::is_const_v<T>) {
685
172k
            return static_cast<T*>(s.m_cp);
686
172k
        }
687
172k
        else if constexpr (std::is_object_v<T>) {
688
172k
            return static_cast<T*>(s.m_p);
689
172k
        }
690
172k
        else {
691
172k
            return reinterpret_cast<T*>(s.m_fp);
692
172k
        }
693
172k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
81.0k
    {
684
81.0k
        if constexpr (std::is_const_v<T>) {
685
81.0k
            return static_cast<T*>(s.m_cp);
686
81.0k
        }
687
81.0k
        else if constexpr (std::is_object_v<T>) {
688
81.0k
            return static_cast<T*>(s.m_p);
689
81.0k
        }
690
81.0k
        else {
691
81.0k
            return reinterpret_cast<T*>(s.m_fp);
692
81.0k
        }
693
81.0k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
203k
    {
684
203k
        if constexpr (std::is_const_v<T>) {
685
203k
            return static_cast<T*>(s.m_cp);
686
203k
        }
687
203k
        else if constexpr (std::is_object_v<T>) {
688
203k
            return static_cast<T*>(s.m_p);
689
203k
        }
690
203k
        else {
691
203k
            return reinterpret_cast<T*>(s.m_fp);
692
203k
        }
693
203k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
8
    {
684
8
        if constexpr (std::is_const_v<T>) {
685
8
            return static_cast<T*>(s.m_cp);
686
8
        }
687
8
        else if constexpr (std::is_object_v<T>) {
688
8
            return static_cast<T*>(s.m_p);
689
8
        }
690
8
        else {
691
8
            return reinterpret_cast<T*>(s.m_fp);
692
8
        }
693
8
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
258
    {
684
258
        if constexpr (std::is_const_v<T>) {
685
258
            return static_cast<T*>(s.m_cp);
686
258
        }
687
258
        else if constexpr (std::is_object_v<T>) {
688
258
            return static_cast<T*>(s.m_p);
689
258
        }
690
258
        else {
691
258
            return reinterpret_cast<T*>(s.m_fp);
692
258
        }
693
258
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
69.6k
    {
684
69.6k
        if constexpr (std::is_const_v<T>) {
685
69.6k
            return static_cast<T*>(s.m_cp);
686
69.6k
        }
687
69.6k
        else if constexpr (std::is_object_v<T>) {
688
69.6k
            return static_cast<T*>(s.m_p);
689
69.6k
        }
690
69.6k
        else {
691
69.6k
            return reinterpret_cast<T*>(s.m_fp);
692
69.6k
        }
693
69.6k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
178k
    {
684
178k
        if constexpr (std::is_const_v<T>) {
685
178k
            return static_cast<T*>(s.m_cp);
686
178k
        }
687
178k
        else if constexpr (std::is_object_v<T>) {
688
178k
            return static_cast<T*>(s.m_p);
689
178k
        }
690
178k
        else {
691
178k
            return reinterpret_cast<T*>(s.m_fp);
692
178k
        }
693
178k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
82.3k
    {
684
82.3k
        if constexpr (std::is_const_v<T>) {
685
82.3k
            return static_cast<T*>(s.m_cp);
686
82.3k
        }
687
82.3k
        else if constexpr (std::is_object_v<T>) {
688
82.3k
            return static_cast<T*>(s.m_p);
689
82.3k
        }
690
82.3k
        else {
691
82.3k
            return reinterpret_cast<T*>(s.m_fp);
692
82.3k
        }
693
82.3k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
205k
    {
684
205k
        if constexpr (std::is_const_v<T>) {
685
205k
            return static_cast<T*>(s.m_cp);
686
205k
        }
687
205k
        else if constexpr (std::is_object_v<T>) {
688
205k
            return static_cast<T*>(s.m_p);
689
205k
        }
690
205k
        else {
691
205k
            return reinterpret_cast<T*>(s.m_fp);
692
205k
        }
693
205k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
70.7k
    {
684
70.7k
        if constexpr (std::is_const_v<T>) {
685
70.7k
            return static_cast<T*>(s.m_cp);
686
70.7k
        }
687
70.7k
        else if constexpr (std::is_object_v<T>) {
688
70.7k
            return static_cast<T*>(s.m_p);
689
70.7k
        }
690
70.7k
        else {
691
70.7k
            return reinterpret_cast<T*>(s.m_fp);
692
70.7k
        }
693
70.7k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
179k
    {
684
179k
        if constexpr (std::is_const_v<T>) {
685
179k
            return static_cast<T*>(s.m_cp);
686
179k
        }
687
179k
        else if constexpr (std::is_object_v<T>) {
688
179k
            return static_cast<T*>(s.m_p);
689
179k
        }
690
179k
        else {
691
179k
            return reinterpret_cast<T*>(s.m_fp);
692
179k
        }
693
179k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
2.06M
    {
684
2.06M
        if constexpr (std::is_const_v<T>) {
685
2.06M
            return static_cast<T*>(s.m_cp);
686
2.06M
        }
687
2.06M
        else if constexpr (std::is_object_v<T>) {
688
2.06M
            return static_cast<T*>(s.m_p);
689
2.06M
        }
690
2.06M
        else {
691
2.06M
            return reinterpret_cast<T*>(s.m_fp);
692
2.06M
        }
693
2.06M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
14.4k
    {
684
14.4k
        if constexpr (std::is_const_v<T>) {
685
14.4k
            return static_cast<T*>(s.m_cp);
686
14.4k
        }
687
14.4k
        else if constexpr (std::is_object_v<T>) {
688
14.4k
            return static_cast<T*>(s.m_p);
689
14.4k
        }
690
14.4k
        else {
691
14.4k
            return reinterpret_cast<T*>(s.m_fp);
692
14.4k
        }
693
14.4k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
7.93k
    {
684
7.93k
        if constexpr (std::is_const_v<T>) {
685
7.93k
            return static_cast<T*>(s.m_cp);
686
7.93k
        }
687
7.93k
        else if constexpr (std::is_object_v<T>) {
688
7.93k
            return static_cast<T*>(s.m_p);
689
7.93k
        }
690
7.93k
        else {
691
7.93k
            return reinterpret_cast<T*>(s.m_fp);
692
7.93k
        }
693
7.93k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
782
    {
684
782
        if constexpr (std::is_const_v<T>) {
685
782
            return static_cast<T*>(s.m_cp);
686
782
        }
687
782
        else if constexpr (std::is_object_v<T>) {
688
782
            return static_cast<T*>(s.m_p);
689
782
        }
690
782
        else {
691
782
            return reinterpret_cast<T*>(s.m_fp);
692
782
        }
693
782
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
17.4k
    {
684
17.4k
        if constexpr (std::is_const_v<T>) {
685
17.4k
            return static_cast<T*>(s.m_cp);
686
17.4k
        }
687
17.4k
        else if constexpr (std::is_object_v<T>) {
688
17.4k
            return static_cast<T*>(s.m_p);
689
17.4k
        }
690
17.4k
        else {
691
17.4k
            return reinterpret_cast<T*>(s.m_fp);
692
17.4k
        }
693
17.4k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
7.02k
    {
684
7.02k
        if constexpr (std::is_const_v<T>) {
685
7.02k
            return static_cast<T*>(s.m_cp);
686
7.02k
        }
687
7.02k
        else if constexpr (std::is_object_v<T>) {
688
7.02k
            return static_cast<T*>(s.m_p);
689
7.02k
        }
690
7.02k
        else {
691
7.02k
            return reinterpret_cast<T*>(s.m_fp);
692
7.02k
        }
693
7.02k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
442
    {
684
442
        if constexpr (std::is_const_v<T>) {
685
442
            return static_cast<T*>(s.m_cp);
686
442
        }
687
442
        else if constexpr (std::is_object_v<T>) {
688
442
            return static_cast<T*>(s.m_p);
689
442
        }
690
442
        else {
691
442
            return reinterpret_cast<T*>(s.m_fp);
692
442
        }
693
442
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
318k
    {
684
318k
        if constexpr (std::is_const_v<T>) {
685
318k
            return static_cast<T*>(s.m_cp);
686
318k
        }
687
318k
        else if constexpr (std::is_object_v<T>) {
688
318k
            return static_cast<T*>(s.m_p);
689
318k
        }
690
318k
        else {
691
318k
            return reinterpret_cast<T*>(s.m_fp);
692
318k
        }
693
318k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
32.6k
    {
684
32.6k
        if constexpr (std::is_const_v<T>) {
685
32.6k
            return static_cast<T*>(s.m_cp);
686
32.6k
        }
687
32.6k
        else if constexpr (std::is_object_v<T>) {
688
32.6k
            return static_cast<T*>(s.m_p);
689
32.6k
        }
690
32.6k
        else {
691
32.6k
            return reinterpret_cast<T*>(s.m_fp);
692
32.6k
        }
693
32.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
782
    {
684
782
        if constexpr (std::is_const_v<T>) {
685
782
            return static_cast<T*>(s.m_cp);
686
782
        }
687
782
        else if constexpr (std::is_object_v<T>) {
688
782
            return static_cast<T*>(s.m_p);
689
782
        }
690
782
        else {
691
782
            return reinterpret_cast<T*>(s.m_fp);
692
782
        }
693
782
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
442
    {
684
442
        if constexpr (std::is_const_v<T>) {
685
442
            return static_cast<T*>(s.m_cp);
686
442
        }
687
442
        else if constexpr (std::is_object_v<T>) {
688
442
            return static_cast<T*>(s.m_p);
689
442
        }
690
442
        else {
691
442
            return reinterpret_cast<T*>(s.m_fp);
692
442
        }
693
442
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
782
    {
684
782
        if constexpr (std::is_const_v<T>) {
685
782
            return static_cast<T*>(s.m_cp);
686
782
        }
687
782
        else if constexpr (std::is_object_v<T>) {
688
782
            return static_cast<T*>(s.m_p);
689
782
        }
690
782
        else {
691
782
            return reinterpret_cast<T*>(s.m_fp);
692
782
        }
693
782
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
442
    {
684
442
        if constexpr (std::is_const_v<T>) {
685
442
            return static_cast<T*>(s.m_cp);
686
442
        }
687
442
        else if constexpr (std::is_object_v<T>) {
688
442
            return static_cast<T*>(s.m_p);
689
442
        }
690
442
        else {
691
442
            return reinterpret_cast<T*>(s.m_fp);
692
442
        }
693
442
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlcE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlcE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
7.61M
    {
684
7.61M
        if constexpr (std::is_const_v<T>) {
685
7.61M
            return static_cast<T*>(s.m_cp);
686
7.61M
        }
687
7.61M
        else if constexpr (std::is_object_v<T>) {
688
7.61M
            return static_cast<T*>(s.m_p);
689
7.61M
        }
690
7.61M
        else {
691
7.61M
            return reinterpret_cast<T*>(s.m_fp);
692
7.61M
        }
693
7.61M
    }
auto scn::v3::impl::fnref_detail::base::get<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> > >(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
1.32M
    {
684
1.32M
        if constexpr (std::is_const_v<T>) {
685
1.32M
            return static_cast<T*>(s.m_cp);
686
1.32M
        }
687
1.32M
        else if constexpr (std::is_object_v<T>) {
688
1.32M
            return static_cast<T*>(s.m_p);
689
1.32M
        }
690
1.32M
        else {
691
1.32M
            return reinterpret_cast<T*>(s.m_fp);
692
1.32M
        }
693
1.32M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESL_lRKNSB_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNSA_9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEENS1_15take_width_viewINS9_ISF_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_iEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
314k
    {
684
314k
        if constexpr (std::is_const_v<T>) {
685
314k
            return static_cast<T*>(s.m_cp);
686
314k
        }
687
314k
        else if constexpr (std::is_object_v<T>) {
688
314k
            return static_cast<T*>(s.m_p);
689
314k
        }
690
314k
        else {
691
314k
            return reinterpret_cast<T*>(s.m_fp);
692
314k
        }
693
314k
    }
auto scn::v3::impl::fnref_detail::base::get<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}>(scn::v3::impl::fnref_detail::base::storage)
Line
Count
Source
683
5.29k
    {
684
5.29k
        if constexpr (std::is_const_v<T>) {
685
5.29k
            return static_cast<T*>(s.m_cp);
686
5.29k
        }
687
5.29k
        else if constexpr (std::is_object_v<T>) {
688
5.29k
            return static_cast<T*>(s.m_p);
689
5.29k
        }
690
5.29k
        else {
691
5.29k
            return reinterpret_cast<T*>(s.m_fp);
692
5.29k
        }
693
5.29k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESG_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEENS0_13scan_expectedINS6_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESE_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
70.4k
    {
684
70.4k
        if constexpr (std::is_const_v<T>) {
685
70.4k
            return static_cast<T*>(s.m_cp);
686
70.4k
        }
687
70.4k
        else if constexpr (std::is_object_v<T>) {
688
70.4k
            return static_cast<T*>(s.m_p);
689
70.4k
        }
690
70.4k
        else {
691
70.4k
            return reinterpret_cast<T*>(s.m_fp);
692
70.4k
        }
693
70.4k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSD_EENS1_15take_width_viewINS9_ISD_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
346
    {
684
346
        if constexpr (std::is_const_v<T>) {
685
346
            return static_cast<T*>(s.m_cp);
686
346
        }
687
346
        else if constexpr (std::is_object_v<T>) {
688
346
            return static_cast<T*>(s.m_p);
689
346
        }
690
346
        else {
691
346
            return reinterpret_cast<T*>(s.m_fp);
692
346
        }
693
346
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
512
    {
684
512
        if constexpr (std::is_const_v<T>) {
685
512
            return static_cast<T*>(s.m_cp);
686
512
        }
687
512
        else if constexpr (std::is_object_v<T>) {
688
512
            return static_cast<T*>(s.m_p);
689
512
        }
690
512
        else {
691
512
            return reinterpret_cast<T*>(s.m_fp);
692
512
        }
693
512
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
78
    {
684
78
        if constexpr (std::is_const_v<T>) {
685
78
            return static_cast<T*>(s.m_cp);
686
78
        }
687
78
        else if constexpr (std::is_object_v<T>) {
688
78
            return static_cast<T*>(s.m_p);
689
78
        }
690
78
        else {
691
78
            return reinterpret_cast<T*>(s.m_fp);
692
78
        }
693
78
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
16.7M
    {
684
16.7M
        if constexpr (std::is_const_v<T>) {
685
16.7M
            return static_cast<T*>(s.m_cp);
686
16.7M
        }
687
16.7M
        else if constexpr (std::is_object_v<T>) {
688
16.7M
            return static_cast<T*>(s.m_p);
689
16.7M
        }
690
16.7M
        else {
691
16.7M
            return reinterpret_cast<T*>(s.m_fp);
692
16.7M
        }
693
16.7M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESS_NSQ_17basic_string_viewIcNSQ_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEENS1_15take_width_viewINSB_ISH_SI_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEST_bEUlwE0_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
17.7k
    {
684
17.7k
        if constexpr (std::is_const_v<T>) {
685
17.7k
            return static_cast<T*>(s.m_cp);
686
17.7k
        }
687
17.7k
        else if constexpr (std::is_object_v<T>) {
688
17.7k
            return static_cast<T*>(s.m_p);
689
17.7k
        }
690
17.7k
        else {
691
17.7k
            return reinterpret_cast<T*>(s.m_fp);
692
17.7k
        }
693
17.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
128k
    {
684
128k
        if constexpr (std::is_const_v<T>) {
685
128k
            return static_cast<T*>(s.m_cp);
686
128k
        }
687
128k
        else if constexpr (std::is_object_v<T>) {
688
128k
            return static_cast<T*>(s.m_p);
689
128k
        }
690
128k
        else {
691
128k
            return reinterpret_cast<T*>(s.m_fp);
692
128k
        }
693
128k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
15.2k
    {
684
15.2k
        if constexpr (std::is_const_v<T>) {
685
15.2k
            return static_cast<T*>(s.m_cp);
686
15.2k
        }
687
15.2k
        else if constexpr (std::is_object_v<T>) {
688
15.2k
            return static_cast<T*>(s.m_p);
689
15.2k
        }
690
15.2k
        else {
691
15.2k
            return reinterpret_cast<T*>(s.m_fp);
692
15.2k
        }
693
15.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
564k
    {
684
564k
        if constexpr (std::is_const_v<T>) {
685
564k
            return static_cast<T*>(s.m_cp);
686
564k
        }
687
564k
        else if constexpr (std::is_object_v<T>) {
688
564k
            return static_cast<T*>(s.m_p);
689
564k
        }
690
564k
        else {
691
564k
            return reinterpret_cast<T*>(s.m_fp);
692
564k
        }
693
564k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
62.3k
    {
684
62.3k
        if constexpr (std::is_const_v<T>) {
685
62.3k
            return static_cast<T*>(s.m_cp);
686
62.3k
        }
687
62.3k
        else if constexpr (std::is_object_v<T>) {
688
62.3k
            return static_cast<T*>(s.m_p);
689
62.3k
        }
690
62.3k
        else {
691
62.3k
            return reinterpret_cast<T*>(s.m_fp);
692
62.3k
        }
693
62.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
6
    {
684
6
        if constexpr (std::is_const_v<T>) {
685
6
            return static_cast<T*>(s.m_cp);
686
6
        }
687
6
        else if constexpr (std::is_object_v<T>) {
688
6
            return static_cast<T*>(s.m_p);
689
6
        }
690
6
        else {
691
6
            return reinterpret_cast<T*>(s.m_fp);
692
6
        }
693
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSF_EENS1_15take_width_viewINSB_ISF_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
108
    {
684
108
        if constexpr (std::is_const_v<T>) {
685
108
            return static_cast<T*>(s.m_cp);
686
108
        }
687
108
        else if constexpr (std::is_object_v<T>) {
688
108
            return static_cast<T*>(s.m_p);
689
108
        }
690
108
        else {
691
108
            return reinterpret_cast<T*>(s.m_fp);
692
108
        }
693
108
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
17.7k
    {
684
17.7k
        if constexpr (std::is_const_v<T>) {
685
17.7k
            return static_cast<T*>(s.m_cp);
686
17.7k
        }
687
17.7k
        else if constexpr (std::is_object_v<T>) {
688
17.7k
            return static_cast<T*>(s.m_p);
689
17.7k
        }
690
17.7k
        else {
691
17.7k
            return reinterpret_cast<T*>(s.m_fp);
692
17.7k
        }
693
17.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_EUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
5.29k
    {
684
5.29k
        if constexpr (std::is_const_v<T>) {
685
5.29k
            return static_cast<T*>(s.m_cp);
686
5.29k
        }
687
5.29k
        else if constexpr (std::is_object_v<T>) {
688
5.29k
            return static_cast<T*>(s.m_p);
689
5.29k
        }
690
5.29k
        else {
691
5.29k
            return reinterpret_cast<T*>(s.m_fp);
692
5.29k
        }
693
5.29k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS1_14parse_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bEUlwE0_EEDaNS3_7storageE
Line
Count
Source
683
266k
    {
684
266k
        if constexpr (std::is_const_v<T>) {
685
266k
            return static_cast<T*>(s.m_cp);
686
266k
        }
687
266k
        else if constexpr (std::is_object_v<T>) {
688
266k
            return static_cast<T*>(s.m_p);
689
266k
        }
690
266k
        else {
691
266k
            return reinterpret_cast<T*>(s.m_fp);
692
266k
        }
693
266k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
62.3k
    {
684
62.3k
        if constexpr (std::is_const_v<T>) {
685
62.3k
            return static_cast<T*>(s.m_cp);
686
62.3k
        }
687
62.3k
        else if constexpr (std::is_object_v<T>) {
688
62.3k
            return static_cast<T*>(s.m_p);
689
62.3k
        }
690
62.3k
        else {
691
62.3k
            return reinterpret_cast<T*>(s.m_fp);
692
62.3k
        }
693
62.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
18.2k
    {
684
18.2k
        if constexpr (std::is_const_v<T>) {
685
18.2k
            return static_cast<T*>(s.m_cp);
686
18.2k
        }
687
18.2k
        else if constexpr (std::is_object_v<T>) {
688
18.2k
            return static_cast<T*>(s.m_p);
689
18.2k
        }
690
18.2k
        else {
691
18.2k
            return reinterpret_cast<T*>(s.m_fp);
692
18.2k
        }
693
18.2k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
62.8k
    {
684
62.8k
        if constexpr (std::is_const_v<T>) {
685
62.8k
            return static_cast<T*>(s.m_cp);
686
62.8k
        }
687
62.8k
        else if constexpr (std::is_object_v<T>) {
688
62.8k
            return static_cast<T*>(s.m_p);
689
62.8k
        }
690
62.8k
        else {
691
62.8k
            return reinterpret_cast<T*>(s.m_fp);
692
62.8k
        }
693
62.8k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
6
    {
684
6
        if constexpr (std::is_const_v<T>) {
685
6
            return static_cast<T*>(s.m_cp);
686
6
        }
687
6
        else if constexpr (std::is_object_v<T>) {
688
6
            return static_cast<T*>(s.m_p);
689
6
        }
690
6
        else {
691
6
            return reinterpret_cast<T*>(s.m_fp);
692
6
        }
693
6
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
108
    {
684
108
        if constexpr (std::is_const_v<T>) {
685
108
            return static_cast<T*>(s.m_cp);
686
108
        }
687
108
        else if constexpr (std::is_object_v<T>) {
688
108
            return static_cast<T*>(s.m_p);
689
108
        }
690
108
        else {
691
108
            return reinterpret_cast<T*>(s.m_fp);
692
108
        }
693
108
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
18.2k
    {
684
18.2k
        if constexpr (std::is_const_v<T>) {
685
18.2k
            return static_cast<T*>(s.m_cp);
686
18.2k
        }
687
18.2k
        else if constexpr (std::is_object_v<T>) {
688
18.2k
            return static_cast<T*>(s.m_p);
689
18.2k
        }
690
18.2k
        else {
691
18.2k
            return reinterpret_cast<T*>(s.m_fp);
692
18.2k
        }
693
18.2k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
63.2k
    {
684
63.2k
        if constexpr (std::is_const_v<T>) {
685
63.2k
            return static_cast<T*>(s.m_cp);
686
63.2k
        }
687
63.2k
        else if constexpr (std::is_object_v<T>) {
688
63.2k
            return static_cast<T*>(s.m_p);
689
63.2k
        }
690
63.2k
        else {
691
63.2k
            return reinterpret_cast<T*>(s.m_fp);
692
63.2k
        }
693
63.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERT0_NSD_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
18.5k
    {
684
18.5k
        if constexpr (std::is_const_v<T>) {
685
18.5k
            return static_cast<T*>(s.m_cp);
686
18.5k
        }
687
18.5k
        else if constexpr (std::is_object_v<T>) {
688
18.5k
            return static_cast<T*>(s.m_p);
689
18.5k
        }
690
18.5k
        else {
691
18.5k
            return reinterpret_cast<T*>(s.m_fp);
692
18.5k
        }
693
18.5k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
63.2k
    {
684
63.2k
        if constexpr (std::is_const_v<T>) {
685
63.2k
            return static_cast<T*>(s.m_cp);
686
63.2k
        }
687
63.2k
        else if constexpr (std::is_object_v<T>) {
688
63.2k
            return static_cast<T*>(s.m_p);
689
63.2k
        }
690
63.2k
        else {
691
63.2k
            return reinterpret_cast<T*>(s.m_fp);
692
63.2k
        }
693
63.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERT0_NSQ_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
18.5k
    {
684
18.5k
        if constexpr (std::is_const_v<T>) {
685
18.5k
            return static_cast<T*>(s.m_cp);
686
18.5k
        }
687
18.5k
        else if constexpr (std::is_object_v<T>) {
688
18.5k
            return static_cast<T*>(s.m_p);
689
18.5k
        }
690
18.5k
        else {
691
18.5k
            return reinterpret_cast<T*>(s.m_fp);
692
18.5k
        }
693
18.5k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERT0_NSO_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E0_EEDaNS3_7storageE
Line
Count
Source
683
63.3k
    {
684
63.3k
        if constexpr (std::is_const_v<T>) {
685
63.3k
            return static_cast<T*>(s.m_cp);
686
63.3k
        }
687
63.3k
        else if constexpr (std::is_object_v<T>) {
688
63.3k
            return static_cast<T*>(s.m_p);
689
63.3k
        }
690
63.3k
        else {
691
63.3k
            return reinterpret_cast<T*>(s.m_fp);
692
63.3k
        }
693
63.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_EUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
66.9M
    {
684
66.9M
        if constexpr (std::is_const_v<T>) {
685
66.9M
            return static_cast<T*>(s.m_cp);
686
66.9M
        }
687
66.9M
        else if constexpr (std::is_object_v<T>) {
688
66.9M
            return static_cast<T*>(s.m_p);
689
66.9M
        }
690
66.9M
        else {
691
66.9M
            return reinterpret_cast<T*>(s.m_fp);
692
66.9M
        }
693
66.9M
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
9.42k
    {
684
9.42k
        if constexpr (std::is_const_v<T>) {
685
9.42k
            return static_cast<T*>(s.m_cp);
686
9.42k
        }
687
9.42k
        else if constexpr (std::is_object_v<T>) {
688
9.42k
            return static_cast<T*>(s.m_p);
689
9.42k
        }
690
9.42k
        else {
691
9.42k
            return reinterpret_cast<T*>(s.m_fp);
692
9.42k
        }
693
9.42k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
7.05k
    {
684
7.05k
        if constexpr (std::is_const_v<T>) {
685
7.05k
            return static_cast<T*>(s.m_cp);
686
7.05k
        }
687
7.05k
        else if constexpr (std::is_object_v<T>) {
688
7.05k
            return static_cast<T*>(s.m_p);
689
7.05k
        }
690
7.05k
        else {
691
7.05k
            return reinterpret_cast<T*>(s.m_fp);
692
7.05k
        }
693
7.05k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
350
    {
684
350
        if constexpr (std::is_const_v<T>) {
685
350
            return static_cast<T*>(s.m_cp);
686
350
        }
687
350
        else if constexpr (std::is_object_v<T>) {
688
350
            return static_cast<T*>(s.m_p);
689
350
        }
690
350
        else {
691
350
            return reinterpret_cast<T*>(s.m_fp);
692
350
        }
693
350
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
133M
    {
684
133M
        if constexpr (std::is_const_v<T>) {
685
133M
            return static_cast<T*>(s.m_cp);
686
133M
        }
687
133M
        else if constexpr (std::is_object_v<T>) {
688
133M
            return static_cast<T*>(s.m_p);
689
133M
        }
690
133M
        else {
691
133M
            return reinterpret_cast<T*>(s.m_fp);
692
133M
        }
693
133M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
410
    {
684
410
        if constexpr (std::is_const_v<T>) {
685
410
            return static_cast<T*>(s.m_cp);
686
410
        }
687
410
        else if constexpr (std::is_object_v<T>) {
688
410
            return static_cast<T*>(s.m_p);
689
410
        }
690
410
        else {
691
410
            return reinterpret_cast<T*>(s.m_fp);
692
410
        }
693
410
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
4.17k
    {
684
4.17k
        if constexpr (std::is_const_v<T>) {
685
4.17k
            return static_cast<T*>(s.m_cp);
686
4.17k
        }
687
4.17k
        else if constexpr (std::is_object_v<T>) {
688
4.17k
            return static_cast<T*>(s.m_p);
689
4.17k
        }
690
4.17k
        else {
691
4.17k
            return reinterpret_cast<T*>(s.m_fp);
692
4.17k
        }
693
4.17k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS6_12specs_helperEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
20.0k
    {
684
20.0k
        if constexpr (std::is_const_v<T>) {
685
20.0k
            return static_cast<T*>(s.m_cp);
686
20.0k
        }
687
20.0k
        else if constexpr (std::is_object_v<T>) {
688
20.0k
            return static_cast<T*>(s.m_p);
689
20.0k
        }
690
20.0k
        else {
691
20.0k
            return reinterpret_cast<T*>(s.m_fp);
692
20.0k
        }
693
20.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_12basic_stringIT0_NSL_11char_traitsISX_EENSL_9allocatorISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISV_EENSJ_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISV_EENSI_9allocatorISV_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
350
    {
684
350
        if constexpr (std::is_const_v<T>) {
685
350
            return static_cast<T*>(s.m_cp);
686
350
        }
687
350
        else if constexpr (std::is_object_v<T>) {
688
350
            return static_cast<T*>(s.m_p);
689
350
        }
690
350
        else {
691
350
            return reinterpret_cast<T*>(s.m_fp);
692
350
        }
693
350
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsIST_EENSG_9allocatorIST_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
410
    {
684
410
        if constexpr (std::is_const_v<T>) {
685
410
            return static_cast<T*>(s.m_cp);
686
410
        }
687
410
        else if constexpr (std::is_object_v<T>) {
688
410
            return static_cast<T*>(s.m_p);
689
410
        }
690
410
        else {
691
410
            return reinterpret_cast<T*>(s.m_fp);
692
410
        }
693
410
    }
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEcEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_RKNSD_12format_specsERNSL_17basic_string_viewIT0_NSL_11char_traitsISX_EEEEEUlwE_EEDaNS3_7storageE
Unexecuted instantiation: _ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNSC_12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNS0_6detail12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISV_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
350
    {
684
350
        if constexpr (std::is_const_v<T>) {
685
350
            return static_cast<T*>(s.m_cp);
686
350
        }
687
350
        else if constexpr (std::is_object_v<T>) {
688
350
            return static_cast<T*>(s.m_p);
689
350
        }
690
350
        else {
691
350
            return reinterpret_cast<T*>(s.m_fp);
692
350
        }
693
350
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEwEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS0_6detail12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsIST_EEEEEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
410
    {
684
410
        if constexpr (std::is_const_v<T>) {
685
410
            return static_cast<T*>(s.m_cp);
686
410
        }
687
410
        else if constexpr (std::is_object_v<T>) {
688
410
            return static_cast<T*>(s.m_p);
689
410
        }
690
410
        else {
691
410
            return reinterpret_cast<T*>(s.m_fp);
692
410
        }
693
410
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
8.70M
    {
684
8.70M
        if constexpr (std::is_const_v<T>) {
685
8.70M
            return static_cast<T*>(s.m_cp);
686
8.70M
        }
687
8.70M
        else if constexpr (std::is_object_v<T>) {
688
8.70M
            return static_cast<T*>(s.m_p);
689
8.70M
        }
690
8.70M
        else {
691
8.70M
            return reinterpret_cast<T*>(s.m_fp);
692
8.70M
        }
693
8.70M
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS6_9add_constIT_E4typeEEEEESD_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
304k
    {
684
304k
        if constexpr (std::is_const_v<T>) {
685
304k
            return static_cast<T*>(s.m_cp);
686
304k
        }
687
304k
        else if constexpr (std::is_object_v<T>) {
688
304k
            return static_cast<T*>(s.m_p);
689
304k
        }
690
304k
        else {
691
304k
            return reinterpret_cast<T*>(s.m_fp);
692
304k
        }
693
304k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
99.6k
    {
684
99.6k
        if constexpr (std::is_const_v<T>) {
685
99.6k
            return static_cast<T*>(s.m_cp);
686
99.6k
        }
687
99.6k
        else if constexpr (std::is_object_v<T>) {
688
99.6k
            return static_cast<T*>(s.m_p);
689
99.6k
        }
690
99.6k
        else {
691
99.6k
            return reinterpret_cast<T*>(s.m_fp);
692
99.6k
        }
693
99.6k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
105k
    {
684
105k
        if constexpr (std::is_const_v<T>) {
685
105k
            return static_cast<T*>(s.m_cp);
686
105k
        }
687
105k
        else if constexpr (std::is_object_v<T>) {
688
105k
            return static_cast<T*>(s.m_p);
689
105k
        }
690
105k
        else {
691
105k
            return reinterpret_cast<T*>(s.m_fp);
692
105k
        }
693
105k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
106k
    {
684
106k
        if constexpr (std::is_const_v<T>) {
685
106k
            return static_cast<T*>(s.m_cp);
686
106k
        }
687
106k
        else if constexpr (std::is_object_v<T>) {
688
106k
            return static_cast<T*>(s.m_p);
689
106k
        }
690
106k
        else {
691
106k
            return reinterpret_cast<T*>(s.m_fp);
692
106k
        }
693
106k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
105k
    {
684
105k
        if constexpr (std::is_const_v<T>) {
685
105k
            return static_cast<T*>(s.m_cp);
686
105k
        }
687
105k
        else if constexpr (std::is_object_v<T>) {
688
105k
            return static_cast<T*>(s.m_p);
689
105k
        }
690
105k
        else {
691
105k
            return reinterpret_cast<T*>(s.m_fp);
692
105k
        }
693
105k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
110k
    {
684
110k
        if constexpr (std::is_const_v<T>) {
685
110k
            return static_cast<T*>(s.m_cp);
686
110k
        }
687
110k
        else if constexpr (std::is_object_v<T>) {
688
110k
            return static_cast<T*>(s.m_p);
689
110k
        }
690
110k
        else {
691
110k
            return reinterpret_cast<T*>(s.m_fp);
692
110k
        }
693
110k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIcEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
111k
    {
684
111k
        if constexpr (std::is_const_v<T>) {
685
111k
            return static_cast<T*>(s.m_cp);
686
111k
        }
687
111k
        else if constexpr (std::is_object_v<T>) {
688
111k
            return static_cast<T*>(s.m_p);
689
111k
        }
690
111k
        else {
691
111k
            return reinterpret_cast<T*>(s.m_fp);
692
111k
        }
693
111k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlcE_EEDaNS3_7storageE
Line
Count
Source
683
802
    {
684
802
        if constexpr (std::is_const_v<T>) {
685
802
            return static_cast<T*>(s.m_cp);
686
802
        }
687
802
        else if constexpr (std::is_object_v<T>) {
688
802
            return static_cast<T*>(s.m_p);
689
802
        }
690
802
        else {
691
802
            return reinterpret_cast<T*>(s.m_fp);
692
802
        }
693
802
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
2.85k
    {
684
2.85k
        if constexpr (std::is_const_v<T>) {
685
2.85k
            return static_cast<T*>(s.m_cp);
686
2.85k
        }
687
2.85k
        else if constexpr (std::is_object_v<T>) {
688
2.85k
            return static_cast<T*>(s.m_p);
689
2.85k
        }
690
2.85k
        else {
691
2.85k
            return reinterpret_cast<T*>(s.m_fp);
692
2.85k
        }
693
2.85k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
26.6k
    {
684
26.6k
        if constexpr (std::is_const_v<T>) {
685
26.6k
            return static_cast<T*>(s.m_cp);
686
26.6k
        }
687
26.6k
        else if constexpr (std::is_object_v<T>) {
688
26.6k
            return static_cast<T*>(s.m_p);
689
26.6k
        }
690
26.6k
        else {
691
26.6k
            return reinterpret_cast<T*>(s.m_fp);
692
26.6k
        }
693
26.6k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
37.5k
    {
684
37.5k
        if constexpr (std::is_const_v<T>) {
685
37.5k
            return static_cast<T*>(s.m_cp);
686
37.5k
        }
687
37.5k
        else if constexpr (std::is_object_v<T>) {
688
37.5k
            return static_cast<T*>(s.m_p);
689
37.5k
        }
690
37.5k
        else {
691
37.5k
            return reinterpret_cast<T*>(s.m_fp);
692
37.5k
        }
693
37.5k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS0_6detail10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
27.8k
    {
684
27.8k
        if constexpr (std::is_const_v<T>) {
685
27.8k
            return static_cast<T*>(s.m_cp);
686
27.8k
        }
687
27.8k
        else if constexpr (std::is_object_v<T>) {
688
27.8k
            return static_cast<T*>(s.m_p);
689
27.8k
        }
690
27.8k
        else {
691
27.8k
            return reinterpret_cast<T*>(s.m_fp);
692
27.8k
        }
693
27.8k
    }
_ZN3scn2v34impl12fnref_detail4base3getIKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS0_6detail9fill_typeEbEUlwE_EEDaNS3_7storageE
Line
Count
Source
683
280
    {
684
280
        if constexpr (std::is_const_v<T>) {
685
280
            return static_cast<T*>(s.m_cp);
686
280
        }
687
280
        else if constexpr (std::is_object_v<T>) {
688
280
            return static_cast<T*>(s.m_p);
689
280
        }
690
280
        else {
691
280
            return reinterpret_cast<T*>(s.m_fp);
692
280
        }
693
280
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_24read_while_classic_spaceINS1_15take_width_viewINS6_INS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_EEDaNS3_7storageE
Line
Count
Source
683
724
    {
684
724
        if constexpr (std::is_const_v<T>) {
685
724
            return static_cast<T*>(s.m_cp);
686
724
        }
687
724
        else if constexpr (std::is_object_v<T>) {
688
724
            return static_cast<T*>(s.m_p);
689
724
        }
690
724
        else {
691
724
            return reinterpret_cast<T*>(s.m_fp);
692
724
        }
693
724
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
26.5k
    {
684
26.5k
        if constexpr (std::is_const_v<T>) {
685
26.5k
            return static_cast<T*>(s.m_cp);
686
26.5k
        }
687
26.5k
        else if constexpr (std::is_object_v<T>) {
688
26.5k
            return static_cast<T*>(s.m_p);
689
26.5k
        }
690
26.5k
        else {
691
26.5k
            return reinterpret_cast<T*>(s.m_fp);
692
26.5k
        }
693
26.5k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
27.3k
    {
684
27.3k
        if constexpr (std::is_const_v<T>) {
685
27.3k
            return static_cast<T*>(s.m_cp);
686
27.3k
        }
687
27.3k
        else if constexpr (std::is_object_v<T>) {
688
27.3k
            return static_cast<T*>(s.m_p);
689
27.3k
        }
690
27.3k
        else {
691
27.3k
            return reinterpret_cast<T*>(s.m_fp);
692
27.3k
        }
693
27.3k
    }
_ZN3scn2v34impl12fnref_detail4base3getIZNS1_21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RT0_NSC_10locale_refEEUlRNS1_12float_readerIwEEDpOT_E_EEDaNS3_7storageE
Line
Count
Source
683
27.8k
    {
684
27.8k
        if constexpr (std::is_const_v<T>) {
685
27.8k
            return static_cast<T*>(s.m_cp);
686
27.8k
        }
687
27.8k
        else if constexpr (std::is_object_v<T>) {
688
27.8k
            return static_cast<T*>(s.m_p);
689
27.8k
        }
690
27.8k
        else {
691
27.8k
            return reinterpret_cast<T*>(s.m_fp);
692
27.8k
        }
693
27.8k
    }
694
};
695
}  // namespace fnref_detail
696
697
template <typename Sig,
698
          typename = typename fnref_detail::qual_fn_sig<Sig>::function>
699
class function_ref;
700
701
template <typename Sig, typename R, typename... Args>
702
class function_ref<Sig, R(Args...)> : fnref_detail::base {
703
    using signature = fnref_detail::qual_fn_sig<Sig>;
704
705
    template <typename T>
706
    using cv = typename signature::template cv<T>;
707
    template <typename T>
708
    using cvref = cv<T>&;
709
    static constexpr bool noex = signature::is_noexcept;
710
711
    template <typename... T>
712
    static constexpr bool is_invocable_using =
713
        signature::template is_invocable_using<T...>;
714
715
    using fwd_t = R(storage, fnref_detail::param_t<Args>...) noexcept(noex);
716
717
public:
718
    template <typename F,
719
              std::enable_if_t<std::is_function_v<F> &&
720
                               is_invocable_using<F>>* = nullptr>
721
    /*implicit*/ function_ref(F* f) noexcept
722
        : m_fptr([](storage fn,
723
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
724
              if constexpr (std::is_void_v<R>) {
725
                  get<F>(fn)(static_cast<decltype(args)>(args)...);
726
              }
727
              else {
728
                  return get<F>(fn)(static_cast<decltype(args)>(args)...);
729
              }
730
          }),
731
          m_storage(f)
732
    {
733
        SCN_EXPECT(f != nullptr);
734
    }
735
736
    template <typename F,
737
              typename T = std::remove_reference_t<F>,
738
              std::enable_if_t<detail::is_not_self<F, function_ref> &&
739
                               !std::is_member_pointer_v<T> &&
740
                               is_invocable_using<cvref<T>>>* = nullptr>
741
    /*implicit*/ constexpr function_ref(F&& f) noexcept
742
        : m_fptr([](storage fn,
743
319M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
319M
              cvref<T> obj = *get<T>(fn);
745
319M
              if constexpr (std::is_void_v<R>) {
746
319M
                  obj(static_cast<decltype(args)>(args)...);
747
319M
              }
748
319M
              else {
749
319M
                  return obj(static_cast<decltype(args)>(args)...);
750
319M
              }
751
319M
          }),
scn::v3::impl::function_ref<bool (char), bool (char)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, char) const
Line
Count
Source
743
21.8M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
21.8M
              cvref<T> obj = *get<T>(fn);
745
21.8M
              if constexpr (std::is_void_v<R>) {
746
21.8M
                  obj(static_cast<decltype(args)>(args)...);
747
21.8M
              }
748
21.8M
              else {
749
21.8M
                  return obj(static_cast<decltype(args)>(args)...);
750
21.8M
              }
751
21.8M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES11_c
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, char32_t) const
Line
Count
Source
743
33.5M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
33.5M
              cvref<T> obj = *get<T>(fn);
745
33.5M
              if constexpr (std::is_void_v<R>) {
746
33.5M
                  obj(static_cast<decltype(args)>(args)...);
747
33.5M
              }
748
33.5M
              else {
749
33.5M
                  return obj(static_cast<decltype(args)>(args)...);
750
33.5M
              }
751
33.5M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_LPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEcE_clES13_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEcE_clESV_c
Line
Count
Source
743
6.49M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6.49M
              cvref<T> obj = *get<T>(fn);
745
6.49M
              if constexpr (std::is_void_v<R>) {
746
6.49M
                  obj(static_cast<decltype(args)>(args)...);
747
6.49M
              }
748
6.49M
              else {
749
6.49M
                  return obj(static_cast<decltype(args)>(args)...);
750
6.49M
              }
751
6.49M
          }),
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base, char32_t) const
Line
Count
Source
743
36.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
36.3k
              cvref<T> obj = *get<T>(fn);
745
36.3k
              if constexpr (std::is_void_v<R>) {
746
36.3k
                  obj(static_cast<decltype(args)>(args)...);
747
36.3k
              }
748
36.3k
              else {
749
36.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
36.3k
              }
751
36.3k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESR_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_LPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEcE_clESV_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
743
790
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
790
              cvref<T> obj = *get<T>(fn);
745
790
              if constexpr (std::is_void_v<R>) {
746
790
                  obj(static_cast<decltype(args)>(args)...);
747
790
              }
748
790
              else {
749
790
                  return obj(static_cast<decltype(args)>(args)...);
750
790
              }
751
790
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
2.24k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.24k
              cvref<T> obj = *get<T>(fn);
745
2.24k
              if constexpr (std::is_void_v<R>) {
746
2.24k
                  obj(static_cast<decltype(args)>(args)...);
747
2.24k
              }
748
2.24k
              else {
749
2.24k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.24k
              }
751
2.24k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
1.23k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.23k
              cvref<T> obj = *get<T>(fn);
745
1.23k
              if constexpr (std::is_void_v<R>) {
746
1.23k
                  obj(static_cast<decltype(args)>(args)...);
747
1.23k
              }
748
1.23k
              else {
749
1.23k
                  return obj(static_cast<decltype(args)>(args)...);
750
1.23k
              }
751
1.23k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_LPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEcE_clES17_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEcE_clES15_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
76.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
76.6k
              cvref<T> obj = *get<T>(fn);
745
76.6k
              if constexpr (std::is_void_v<R>) {
746
76.6k
                  obj(static_cast<decltype(args)>(args)...);
747
76.6k
              }
748
76.6k
              else {
749
76.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
76.6k
              }
751
76.6k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
22.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
22.1k
              cvref<T> obj = *get<T>(fn);
745
22.1k
              if constexpr (std::is_void_v<R>) {
746
22.1k
                  obj(static_cast<decltype(args)>(args)...);
747
22.1k
              }
748
22.1k
              else {
749
22.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
22.1k
              }
751
22.1k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
2.73M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.73M
              cvref<T> obj = *get<T>(fn);
745
2.73M
              if constexpr (std::is_void_v<R>) {
746
2.73M
                  obj(static_cast<decltype(args)>(args)...);
747
2.73M
              }
748
2.73M
              else {
749
2.73M
                  return obj(static_cast<decltype(args)>(args)...);
750
2.73M
              }
751
2.73M
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Line
Count
Source
743
365k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
365k
              cvref<T> obj = *get<T>(fn);
745
365k
              if constexpr (std::is_void_v<R>) {
746
365k
                  obj(static_cast<decltype(args)>(args)...);
747
365k
              }
748
365k
              else {
749
365k
                  return obj(static_cast<decltype(args)>(args)...);
750
365k
              }
751
365k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
9.06M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
9.06M
              cvref<T> obj = *get<T>(fn);
745
9.06M
              if constexpr (std::is_void_v<R>) {
746
9.06M
                  obj(static_cast<decltype(args)>(args)...);
747
9.06M
              }
748
9.06M
              else {
749
9.06M
                  return obj(static_cast<decltype(args)>(args)...);
750
9.06M
              }
751
9.06M
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
196k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
196k
              cvref<T> obj = *get<T>(fn);
745
196k
              if constexpr (std::is_void_v<R>) {
746
196k
                  obj(static_cast<decltype(args)>(args)...);
747
196k
              }
748
196k
              else {
749
196k
                  return obj(static_cast<decltype(args)>(args)...);
750
196k
              }
751
196k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Line
Count
Source
743
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6
              cvref<T> obj = *get<T>(fn);
745
6
              if constexpr (std::is_void_v<R>) {
746
6
                  obj(static_cast<decltype(args)>(args)...);
747
6
              }
748
6
              else {
749
6
                  return obj(static_cast<decltype(args)>(args)...);
750
6
              }
751
6
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_LPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
Line
Count
Source
743
260
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
260
              cvref<T> obj = *get<T>(fn);
745
260
              if constexpr (std::is_void_v<R>) {
746
260
                  obj(static_cast<decltype(args)>(args)...);
747
260
              }
748
260
              else {
749
260
                  return obj(static_cast<decltype(args)>(args)...);
750
260
              }
751
260
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
66.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
66.4k
              cvref<T> obj = *get<T>(fn);
745
66.4k
              if constexpr (std::is_void_v<R>) {
746
66.4k
                  obj(static_cast<decltype(args)>(args)...);
747
66.4k
              }
748
66.4k
              else {
749
66.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
66.4k
              }
751
66.4k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Line
Count
Source
743
22.1k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
22.1k
              cvref<T> obj = *get<T>(fn);
745
22.1k
              if constexpr (std::is_void_v<R>) {
746
22.1k
                  obj(static_cast<decltype(args)>(args)...);
747
22.1k
              }
748
22.1k
              else {
749
22.1k
                  return obj(static_cast<decltype(args)>(args)...);
750
22.1k
              }
751
22.1k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEcE_clESW_c
Line
Count
Source
743
89.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
89.3k
              cvref<T> obj = *get<T>(fn);
745
89.3k
              if constexpr (std::is_void_v<R>) {
746
89.3k
                  obj(static_cast<decltype(args)>(args)...);
747
89.3k
              }
748
89.3k
              else {
749
89.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
89.3k
              }
751
89.3k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESU_c
Line
Count
Source
743
2.99M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.99M
              cvref<T> obj = *get<T>(fn);
745
2.99M
              if constexpr (std::is_void_v<R>) {
746
2.99M
                  obj(static_cast<decltype(args)>(args)...);
747
2.99M
              }
748
2.99M
              else {
749
2.99M
                  return obj(static_cast<decltype(args)>(args)...);
750
2.99M
              }
751
2.99M
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
172k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
172k
              cvref<T> obj = *get<T>(fn);
745
172k
              if constexpr (std::is_void_v<R>) {
746
172k
                  obj(static_cast<decltype(args)>(args)...);
747
172k
              }
748
172k
              else {
749
172k
                  return obj(static_cast<decltype(args)>(args)...);
750
172k
              }
751
172k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
81.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
81.0k
              cvref<T> obj = *get<T>(fn);
745
81.0k
              if constexpr (std::is_void_v<R>) {
746
81.0k
                  obj(static_cast<decltype(args)>(args)...);
747
81.0k
              }
748
81.0k
              else {
749
81.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
81.0k
              }
751
81.0k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
203k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
203k
              cvref<T> obj = *get<T>(fn);
745
203k
              if constexpr (std::is_void_v<R>) {
746
203k
                  obj(static_cast<decltype(args)>(args)...);
747
203k
              }
748
203k
              else {
749
203k
                  return obj(static_cast<decltype(args)>(args)...);
750
203k
              }
751
203k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
8
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
8
              cvref<T> obj = *get<T>(fn);
745
8
              if constexpr (std::is_void_v<R>) {
746
8
                  obj(static_cast<decltype(args)>(args)...);
747
8
              }
748
8
              else {
749
8
                  return obj(static_cast<decltype(args)>(args)...);
750
8
              }
751
8
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
258
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
258
              cvref<T> obj = *get<T>(fn);
745
258
              if constexpr (std::is_void_v<R>) {
746
258
                  obj(static_cast<decltype(args)>(args)...);
747
258
              }
748
258
              else {
749
258
                  return obj(static_cast<decltype(args)>(args)...);
750
258
              }
751
258
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
69.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
69.6k
              cvref<T> obj = *get<T>(fn);
745
69.6k
              if constexpr (std::is_void_v<R>) {
746
69.6k
                  obj(static_cast<decltype(args)>(args)...);
747
69.6k
              }
748
69.6k
              else {
749
69.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
69.6k
              }
751
69.6k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
178k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
178k
              cvref<T> obj = *get<T>(fn);
745
178k
              if constexpr (std::is_void_v<R>) {
746
178k
                  obj(static_cast<decltype(args)>(args)...);
747
178k
              }
748
178k
              else {
749
178k
                  return obj(static_cast<decltype(args)>(args)...);
750
178k
              }
751
178k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
82.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
82.3k
              cvref<T> obj = *get<T>(fn);
745
82.3k
              if constexpr (std::is_void_v<R>) {
746
82.3k
                  obj(static_cast<decltype(args)>(args)...);
747
82.3k
              }
748
82.3k
              else {
749
82.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
82.3k
              }
751
82.3k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
205k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
205k
              cvref<T> obj = *get<T>(fn);
745
205k
              if constexpr (std::is_void_v<R>) {
746
205k
                  obj(static_cast<decltype(args)>(args)...);
747
205k
              }
748
205k
              else {
749
205k
                  return obj(static_cast<decltype(args)>(args)...);
750
205k
              }
751
205k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
70.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
70.7k
              cvref<T> obj = *get<T>(fn);
745
70.7k
              if constexpr (std::is_void_v<R>) {
746
70.7k
                  obj(static_cast<decltype(args)>(args)...);
747
70.7k
              }
748
70.7k
              else {
749
70.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
70.7k
              }
751
70.7k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
179k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
179k
              cvref<T> obj = *get<T>(fn);
745
179k
              if constexpr (std::is_void_v<R>) {
746
179k
                  obj(static_cast<decltype(args)>(args)...);
747
179k
              }
748
179k
              else {
749
179k
                  return obj(static_cast<decltype(args)>(args)...);
750
179k
              }
751
179k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES12_c
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
2.06M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.06M
              cvref<T> obj = *get<T>(fn);
745
2.06M
              if constexpr (std::is_void_v<R>) {
746
2.06M
                  obj(static_cast<decltype(args)>(args)...);
747
2.06M
              }
748
2.06M
              else {
749
2.06M
                  return obj(static_cast<decltype(args)>(args)...);
750
2.06M
              }
751
2.06M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES10_Di
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES10_c
Line
Count
Source
743
14.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
14.4k
              cvref<T> obj = *get<T>(fn);
745
14.4k
              if constexpr (std::is_void_v<R>) {
746
14.4k
                  obj(static_cast<decltype(args)>(args)...);
747
14.4k
              }
748
14.4k
              else {
749
14.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
14.4k
              }
751
14.4k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
7.93k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.93k
              cvref<T> obj = *get<T>(fn);
745
7.93k
              if constexpr (std::is_void_v<R>) {
746
7.93k
                  obj(static_cast<decltype(args)>(args)...);
747
7.93k
              }
748
7.93k
              else {
749
7.93k
                  return obj(static_cast<decltype(args)>(args)...);
750
7.93k
              }
751
7.93k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
743
782
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
782
              cvref<T> obj = *get<T>(fn);
745
782
              if constexpr (std::is_void_v<R>) {
746
782
                  obj(static_cast<decltype(args)>(args)...);
747
782
              }
748
782
              else {
749
782
                  return obj(static_cast<decltype(args)>(args)...);
750
782
              }
751
782
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Line
Count
Source
743
17.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
17.4k
              cvref<T> obj = *get<T>(fn);
745
17.4k
              if constexpr (std::is_void_v<R>) {
746
17.4k
                  obj(static_cast<decltype(args)>(args)...);
747
17.4k
              }
748
17.4k
              else {
749
17.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
17.4k
              }
751
17.4k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Line
Count
Source
743
7.02k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.02k
              cvref<T> obj = *get<T>(fn);
745
7.02k
              if constexpr (std::is_void_v<R>) {
746
7.02k
                  obj(static_cast<decltype(args)>(args)...);
747
7.02k
              }
748
7.02k
              else {
749
7.02k
                  return obj(static_cast<decltype(args)>(args)...);
750
7.02k
              }
751
7.02k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
442
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
442
              cvref<T> obj = *get<T>(fn);
745
442
              if constexpr (std::is_void_v<R>) {
746
442
                  obj(static_cast<decltype(args)>(args)...);
747
442
              }
748
442
              else {
749
442
                  return obj(static_cast<decltype(args)>(args)...);
750
442
              }
751
442
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Line
Count
Source
743
318k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
318k
              cvref<T> obj = *get<T>(fn);
745
318k
              if constexpr (std::is_void_v<R>) {
746
318k
                  obj(static_cast<decltype(args)>(args)...);
747
318k
              }
748
318k
              else {
749
318k
                  return obj(static_cast<decltype(args)>(args)...);
750
318k
              }
751
318k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESX_c
Line
Count
Source
743
32.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
32.6k
              cvref<T> obj = *get<T>(fn);
745
32.6k
              if constexpr (std::is_void_v<R>) {
746
32.6k
                  obj(static_cast<decltype(args)>(args)...);
747
32.6k
              }
748
32.6k
              else {
749
32.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
32.6k
              }
751
32.6k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES1A_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Line
Count
Source
743
782
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
782
              cvref<T> obj = *get<T>(fn);
745
782
              if constexpr (std::is_void_v<R>) {
746
782
                  obj(static_cast<decltype(args)>(args)...);
747
782
              }
748
782
              else {
749
782
                  return obj(static_cast<decltype(args)>(args)...);
750
782
              }
751
782
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
442
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
442
              cvref<T> obj = *get<T>(fn);
745
442
              if constexpr (std::is_void_v<R>) {
746
442
                  obj(static_cast<decltype(args)>(args)...);
747
442
              }
748
442
              else {
749
442
                  return obj(static_cast<decltype(args)>(args)...);
750
442
              }
751
442
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Line
Count
Source
743
782
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
782
              cvref<T> obj = *get<T>(fn);
745
782
              if constexpr (std::is_void_v<R>) {
746
782
                  obj(static_cast<decltype(args)>(args)...);
747
782
              }
748
782
              else {
749
782
                  return obj(static_cast<decltype(args)>(args)...);
750
782
              }
751
782
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
Line
Count
Source
743
442
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
442
              cvref<T> obj = *get<T>(fn);
745
442
              if constexpr (std::is_void_v<R>) {
746
442
                  obj(static_cast<decltype(args)>(args)...);
747
442
              }
748
442
              else {
749
442
                  return obj(static_cast<decltype(args)>(args)...);
750
442
              }
751
442
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEcE_clES18_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEcE_clES16_c
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbcES3_EC1IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clES14_c
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
7.61M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.61M
              cvref<T> obj = *get<T>(fn);
745
7.61M
              if constexpr (std::is_void_v<R>) {
746
7.61M
                  obj(static_cast<decltype(args)>(args)...);
747
7.61M
              }
748
7.61M
              else {
749
7.61M
                  return obj(static_cast<decltype(args)>(args)...);
750
7.61M
              }
751
7.61M
          }),
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, wchar_t)#1}::operator()(scn::v3::impl::fnref_detail::base::storage, wchar_t) const
Line
Count
Source
743
1.32M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
1.32M
              cvref<T> obj = *get<T>(fn);
745
1.32M
              if constexpr (std::is_void_v<R>) {
746
1.32M
                  obj(static_cast<decltype(args)>(args)...);
747
1.32M
              }
748
1.32M
              else {
749
1.32M
                  return obj(static_cast<decltype(args)>(args)...);
750
1.32M
              }
751
1.32M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES11_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clESW_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_LPv0EEEOSS_ENKUlNS1_12fnref_detail4base7storageEwE_clES13_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_LPv0EEEOSK_ENKUlNS1_12fnref_detail4base7storageEwE_clESV_w
Line
Count
Source
743
314k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
314k
              cvref<T> obj = *get<T>(fn);
745
314k
              if constexpr (std::is_void_v<R>) {
746
314k
                  obj(static_cast<decltype(args)>(args)...);
747
314k
              }
748
314k
              else {
749
314k
                  return obj(static_cast<decltype(args)>(args)...);
750
314k
              }
751
314k
          }),
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}&&)::{lambda(scn::v3::impl::fnref_detail::base::storage, char32_t)#1}::operator()(scn::v3::impl::fnref_detail::base, char32_t) const
Line
Count
Source
743
5.29k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
5.29k
              cvref<T> obj = *get<T>(fn);
745
5.29k
              if constexpr (std::is_void_v<R>) {
746
5.29k
                  obj(static_cast<decltype(args)>(args)...);
747
5.29k
              }
748
5.29k
              else {
749
5.29k
                  return obj(static_cast<decltype(args)>(args)...);
750
5.29k
              }
751
5.29k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEDiE_clESR_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_LPv0EEEOSF_ENKUlNS1_12fnref_detail4base7storageEwE_clESV_w
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
743
70.4k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
70.4k
              cvref<T> obj = *get<T>(fn);
745
70.4k
              if constexpr (std::is_void_v<R>) {
746
70.4k
                  obj(static_cast<decltype(args)>(args)...);
747
70.4k
              }
748
70.4k
              else {
749
70.4k
                  return obj(static_cast<decltype(args)>(args)...);
750
70.4k
              }
751
70.4k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
743
346
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
346
              cvref<T> obj = *get<T>(fn);
745
346
              if constexpr (std::is_void_v<R>) {
746
346
                  obj(static_cast<decltype(args)>(args)...);
747
346
              }
748
346
              else {
749
346
                  return obj(static_cast<decltype(args)>(args)...);
750
346
              }
751
346
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
512
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
512
              cvref<T> obj = *get<T>(fn);
745
512
              if constexpr (std::is_void_v<R>) {
746
512
                  obj(static_cast<decltype(args)>(args)...);
747
512
              }
748
512
              else {
749
512
                  return obj(static_cast<decltype(args)>(args)...);
750
512
              }
751
512
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
78
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
78
              cvref<T> obj = *get<T>(fn);
745
78
              if constexpr (std::is_void_v<R>) {
746
78
                  obj(static_cast<decltype(args)>(args)...);
747
78
              }
748
78
              else {
749
78
                  return obj(static_cast<decltype(args)>(args)...);
750
78
              }
751
78
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Line
Count
Source
743
16.7M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
16.7M
              cvref<T> obj = *get<T>(fn);
745
16.7M
              if constexpr (std::is_void_v<R>) {
746
16.7M
                  obj(static_cast<decltype(args)>(args)...);
747
16.7M
              }
748
16.7M
              else {
749
16.7M
                  return obj(static_cast<decltype(args)>(args)...);
750
16.7M
              }
751
16.7M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_LPv0EEEOST_ENKUlNS1_12fnref_detail4base7storageEwE_clES17_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageEwE_clES15_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
17.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
17.7k
              cvref<T> obj = *get<T>(fn);
745
17.7k
              if constexpr (std::is_void_v<R>) {
746
17.7k
                  obj(static_cast<decltype(args)>(args)...);
747
17.7k
              }
748
17.7k
              else {
749
17.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
17.7k
              }
751
17.7k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
128k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
128k
              cvref<T> obj = *get<T>(fn);
745
128k
              if constexpr (std::is_void_v<R>) {
746
128k
                  obj(static_cast<decltype(args)>(args)...);
747
128k
              }
748
128k
              else {
749
128k
                  return obj(static_cast<decltype(args)>(args)...);
750
128k
              }
751
128k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Line
Count
Source
743
15.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
15.2k
              cvref<T> obj = *get<T>(fn);
745
15.2k
              if constexpr (std::is_void_v<R>) {
746
15.2k
                  obj(static_cast<decltype(args)>(args)...);
747
15.2k
              }
748
15.2k
              else {
749
15.2k
                  return obj(static_cast<decltype(args)>(args)...);
750
15.2k
              }
751
15.2k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
564k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
564k
              cvref<T> obj = *get<T>(fn);
745
564k
              if constexpr (std::is_void_v<R>) {
746
564k
                  obj(static_cast<decltype(args)>(args)...);
747
564k
              }
748
564k
              else {
749
564k
                  return obj(static_cast<decltype(args)>(args)...);
750
564k
              }
751
564k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
62.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
62.3k
              cvref<T> obj = *get<T>(fn);
745
62.3k
              if constexpr (std::is_void_v<R>) {
746
62.3k
                  obj(static_cast<decltype(args)>(args)...);
747
62.3k
              }
748
62.3k
              else {
749
62.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
62.3k
              }
751
62.3k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Line
Count
Source
743
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6
              cvref<T> obj = *get<T>(fn);
745
6
              if constexpr (std::is_void_v<R>) {
746
6
                  obj(static_cast<decltype(args)>(args)...);
747
6
              }
748
6
              else {
749
6
                  return obj(static_cast<decltype(args)>(args)...);
750
6
              }
751
6
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_LPv0EEEOSQ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
Line
Count
Source
743
108
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
108
              cvref<T> obj = *get<T>(fn);
745
108
              if constexpr (std::is_void_v<R>) {
746
108
                  obj(static_cast<decltype(args)>(args)...);
747
108
              }
748
108
              else {
749
108
                  return obj(static_cast<decltype(args)>(args)...);
750
108
              }
751
108
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
17.7k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
17.7k
              cvref<T> obj = *get<T>(fn);
745
17.7k
              if constexpr (std::is_void_v<R>) {
746
17.7k
                  obj(static_cast<decltype(args)>(args)...);
747
17.7k
              }
748
17.7k
              else {
749
17.7k
                  return obj(static_cast<decltype(args)>(args)...);
750
17.7k
              }
751
17.7k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEwE_clESW_w
Line
Count
Source
743
5.29k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
5.29k
              cvref<T> obj = *get<T>(fn);
745
5.29k
              if constexpr (std::is_void_v<R>) {
746
5.29k
                  obj(static_cast<decltype(args)>(args)...);
747
5.29k
              }
748
5.29k
              else {
749
5.29k
                  return obj(static_cast<decltype(args)>(args)...);
750
5.29k
              }
751
5.29k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESU_w
Line
Count
Source
743
266k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
266k
              cvref<T> obj = *get<T>(fn);
745
266k
              if constexpr (std::is_void_v<R>) {
746
266k
                  obj(static_cast<decltype(args)>(args)...);
747
266k
              }
748
266k
              else {
749
266k
                  return obj(static_cast<decltype(args)>(args)...);
750
266k
              }
751
266k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
62.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
62.3k
              cvref<T> obj = *get<T>(fn);
745
62.3k
              if constexpr (std::is_void_v<R>) {
746
62.3k
                  obj(static_cast<decltype(args)>(args)...);
747
62.3k
              }
748
62.3k
              else {
749
62.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
62.3k
              }
751
62.3k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
18.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
18.2k
              cvref<T> obj = *get<T>(fn);
745
18.2k
              if constexpr (std::is_void_v<R>) {
746
18.2k
                  obj(static_cast<decltype(args)>(args)...);
747
18.2k
              }
748
18.2k
              else {
749
18.2k
                  return obj(static_cast<decltype(args)>(args)...);
750
18.2k
              }
751
18.2k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
62.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
62.8k
              cvref<T> obj = *get<T>(fn);
745
62.8k
              if constexpr (std::is_void_v<R>) {
746
62.8k
                  obj(static_cast<decltype(args)>(args)...);
747
62.8k
              }
748
62.8k
              else {
749
62.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
62.8k
              }
751
62.8k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
6
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
6
              cvref<T> obj = *get<T>(fn);
745
6
              if constexpr (std::is_void_v<R>) {
746
6
                  obj(static_cast<decltype(args)>(args)...);
747
6
              }
748
6
              else {
749
6
                  return obj(static_cast<decltype(args)>(args)...);
750
6
              }
751
6
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Line
Count
Source
743
108
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
108
              cvref<T> obj = *get<T>(fn);
745
108
              if constexpr (std::is_void_v<R>) {
746
108
                  obj(static_cast<decltype(args)>(args)...);
747
108
              }
748
108
              else {
749
108
                  return obj(static_cast<decltype(args)>(args)...);
750
108
              }
751
108
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
18.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
18.2k
              cvref<T> obj = *get<T>(fn);
745
18.2k
              if constexpr (std::is_void_v<R>) {
746
18.2k
                  obj(static_cast<decltype(args)>(args)...);
747
18.2k
              }
748
18.2k
              else {
749
18.2k
                  return obj(static_cast<decltype(args)>(args)...);
750
18.2k
              }
751
18.2k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
63.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
63.2k
              cvref<T> obj = *get<T>(fn);
745
63.2k
              if constexpr (std::is_void_v<R>) {
746
63.2k
                  obj(static_cast<decltype(args)>(args)...);
747
63.2k
              }
748
63.2k
              else {
749
63.2k
                  return obj(static_cast<decltype(args)>(args)...);
750
63.2k
              }
751
63.2k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_ENKUlNS1_12fnref_detail4base7storageESG_SM_SN_E_clES1F_SG_SM_SN_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
18.5k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
18.5k
              cvref<T> obj = *get<T>(fn);
745
18.5k
              if constexpr (std::is_void_v<R>) {
746
18.5k
                  obj(static_cast<decltype(args)>(args)...);
747
18.5k
              }
748
18.5k
              else {
749
18.5k
                  return obj(static_cast<decltype(args)>(args)...);
750
18.5k
              }
751
18.5k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES1A_SB_SH_SI_
Line
Count
Source
743
63.2k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
63.2k
              cvref<T> obj = *get<T>(fn);
745
63.2k
              if constexpr (std::is_void_v<R>) {
746
63.2k
                  obj(static_cast<decltype(args)>(args)...);
747
63.2k
              }
748
63.2k
              else {
749
63.2k
                  return obj(static_cast<decltype(args)>(args)...);
750
63.2k
              }
751
63.2k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_ENKUlNS1_12fnref_detail4base7storageESC_SJ_SL_E_clES1D_SC_SJ_SL_
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
18.5k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
18.5k
              cvref<T> obj = *get<T>(fn);
745
18.5k
              if constexpr (std::is_void_v<R>) {
746
18.5k
                  obj(static_cast<decltype(args)>(args)...);
747
18.5k
              }
748
18.5k
              else {
749
18.5k
                  return obj(static_cast<decltype(args)>(args)...);
750
18.5k
              }
751
18.5k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES18_S9_SE_SG_
Line
Count
Source
743
63.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
63.3k
              cvref<T> obj = *get<T>(fn);
745
63.3k
              if constexpr (std::is_void_v<R>) {
746
63.3k
                  obj(static_cast<decltype(args)>(args)...);
747
63.3k
              }
748
63.3k
              else {
749
63.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
63.3k
              }
751
63.3k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESV_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEDiE_clES12_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES12_w
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
66.9M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
66.9M
              cvref<T> obj = *get<T>(fn);
745
66.9M
              if constexpr (std::is_void_v<R>) {
746
66.9M
                  obj(static_cast<decltype(args)>(args)...);
747
66.9M
              }
748
66.9M
              else {
749
66.9M
                  return obj(static_cast<decltype(args)>(args)...);
750
66.9M
              }
751
66.9M
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEDiE_clES10_Di
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES10_w
Line
Count
Source
743
9.42k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
9.42k
              cvref<T> obj = *get<T>(fn);
745
9.42k
              if constexpr (std::is_void_v<R>) {
746
9.42k
                  obj(static_cast<decltype(args)>(args)...);
747
9.42k
              }
748
9.42k
              else {
749
9.42k
                  return obj(static_cast<decltype(args)>(args)...);
750
9.42k
              }
751
9.42k
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_ENKUlNS1_12fnref_detail4base7storageEDiE_clESS_Di
Line
Count
Source
743
7.05k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
7.05k
              cvref<T> obj = *get<T>(fn);
745
7.05k
              if constexpr (std::is_void_v<R>) {
746
7.05k
                  obj(static_cast<decltype(args)>(args)...);
747
7.05k
              }
748
7.05k
              else {
749
7.05k
                  return obj(static_cast<decltype(args)>(args)...);
750
7.05k
              }
751
7.05k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
743
350
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
350
              cvref<T> obj = *get<T>(fn);
745
350
              if constexpr (std::is_void_v<R>) {
746
350
                  obj(static_cast<decltype(args)>(args)...);
747
350
              }
748
350
              else {
749
350
                  return obj(static_cast<decltype(args)>(args)...);
750
350
              }
751
350
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEDiE_clESZ_Di
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_ENKUlNS1_12fnref_detail4base7storageEDiE_clESQ_Di
Line
Count
Source
743
133M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
133M
              cvref<T> obj = *get<T>(fn);
745
133M
              if constexpr (std::is_void_v<R>) {
746
133M
                  obj(static_cast<decltype(args)>(args)...);
747
133M
              }
748
133M
              else {
749
133M
                  return obj(static_cast<decltype(args)>(args)...);
750
133M
              }
751
133M
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
743
410
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
410
              cvref<T> obj = *get<T>(fn);
745
410
              if constexpr (std::is_void_v<R>) {
746
410
                  obj(static_cast<decltype(args)>(args)...);
747
410
              }
748
410
              else {
749
410
                  return obj(static_cast<decltype(args)>(args)...);
750
410
              }
751
410
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clESX_Di
Line
Count
Source
743
4.17k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
4.17k
              cvref<T> obj = *get<T>(fn);
745
4.17k
              if constexpr (std::is_void_v<R>) {
746
4.17k
                  obj(static_cast<decltype(args)>(args)...);
747
4.17k
              }
748
4.17k
              else {
749
4.17k
                  return obj(static_cast<decltype(args)>(args)...);
750
4.17k
              }
751
4.17k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESX_w
Line
Count
Source
743
20.0k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
20.0k
              cvref<T> obj = *get<T>(fn);
745
20.0k
              if constexpr (std::is_void_v<R>) {
746
20.0k
                  obj(static_cast<decltype(args)>(args)...);
747
20.0k
              }
748
20.0k
              else {
749
20.0k
                  return obj(static_cast<decltype(args)>(args)...);
750
20.0k
              }
751
20.0k
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES1A_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Line
Count
Source
743
350
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
350
              cvref<T> obj = *get<T>(fn);
745
350
              if constexpr (std::is_void_v<R>) {
746
350
                  obj(static_cast<decltype(args)>(args)...);
747
350
              }
748
350
              else {
749
350
                  return obj(static_cast<decltype(args)>(args)...);
750
350
              }
751
350
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
743
410
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
410
              cvref<T> obj = *get<T>(fn);
745
410
              if constexpr (std::is_void_v<R>) {
746
410
                  obj(static_cast<decltype(args)>(args)...);
747
410
              }
748
410
              else {
749
410
                  return obj(static_cast<decltype(args)>(args)...);
750
410
              }
751
410
          }),
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_ENKUlNS1_12fnref_detail4base7storageEwE_clES18_w
Unexecuted instantiation: _ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_ENKUlNS1_12fnref_detail4base7storageEwE_clES16_w
Line
Count
Source
743
350
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
350
              cvref<T> obj = *get<T>(fn);
745
350
              if constexpr (std::is_void_v<R>) {
746
350
                  obj(static_cast<decltype(args)>(args)...);
747
350
              }
748
350
              else {
749
350
                  return obj(static_cast<decltype(args)>(args)...);
750
350
              }
751
350
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clES14_w
Line
Count
Source
743
410
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
410
              cvref<T> obj = *get<T>(fn);
745
410
              if constexpr (std::is_void_v<R>) {
746
410
                  obj(static_cast<decltype(args)>(args)...);
747
410
              }
748
410
              else {
749
410
                  return obj(static_cast<decltype(args)>(args)...);
750
410
              }
751
410
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
8.70M
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
8.70M
              cvref<T> obj = *get<T>(fn);
745
8.70M
              if constexpr (std::is_void_v<R>) {
746
8.70M
                  obj(static_cast<decltype(args)>(args)...);
747
8.70M
              }
748
8.70M
              else {
749
8.70M
                  return obj(static_cast<decltype(args)>(args)...);
750
8.70M
              }
751
8.70M
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_ENKUlNS1_12fnref_detail4base7storageEDiE_clESO_Di
Line
Count
Source
743
304k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
304k
              cvref<T> obj = *get<T>(fn);
745
304k
              if constexpr (std::is_void_v<R>) {
746
304k
                  obj(static_cast<decltype(args)>(args)...);
747
304k
              }
748
304k
              else {
749
304k
                  return obj(static_cast<decltype(args)>(args)...);
750
304k
              }
751
304k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
99.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
99.6k
              cvref<T> obj = *get<T>(fn);
745
99.6k
              if constexpr (std::is_void_v<R>) {
746
99.6k
                  obj(static_cast<decltype(args)>(args)...);
747
99.6k
              }
748
99.6k
              else {
749
99.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
99.6k
              }
751
99.6k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
105k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
105k
              cvref<T> obj = *get<T>(fn);
745
105k
              if constexpr (std::is_void_v<R>) {
746
105k
                  obj(static_cast<decltype(args)>(args)...);
747
105k
              }
748
105k
              else {
749
105k
                  return obj(static_cast<decltype(args)>(args)...);
750
105k
              }
751
105k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
106k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
106k
              cvref<T> obj = *get<T>(fn);
745
106k
              if constexpr (std::is_void_v<R>) {
746
106k
                  obj(static_cast<decltype(args)>(args)...);
747
106k
              }
748
106k
              else {
749
106k
                  return obj(static_cast<decltype(args)>(args)...);
750
106k
              }
751
106k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
105k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
105k
              cvref<T> obj = *get<T>(fn);
745
105k
              if constexpr (std::is_void_v<R>) {
746
105k
                  obj(static_cast<decltype(args)>(args)...);
747
105k
              }
748
105k
              else {
749
105k
                  return obj(static_cast<decltype(args)>(args)...);
750
105k
              }
751
105k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
110k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
110k
              cvref<T> obj = *get<T>(fn);
745
110k
              if constexpr (std::is_void_v<R>) {
746
110k
                  obj(static_cast<decltype(args)>(args)...);
747
110k
              }
748
110k
              else {
749
110k
                  return obj(static_cast<decltype(args)>(args)...);
750
110k
              }
751
110k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
111k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
111k
              cvref<T> obj = *get<T>(fn);
745
111k
              if constexpr (std::is_void_v<R>) {
746
111k
                  obj(static_cast<decltype(args)>(args)...);
747
111k
              }
748
111k
              else {
749
111k
                  return obj(static_cast<decltype(args)>(args)...);
750
111k
              }
751
111k
          }),
_ZZN3scn2v34impl12function_refIFbcES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEcE_clESZ_c
Line
Count
Source
743
802
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
802
              cvref<T> obj = *get<T>(fn);
745
802
              if constexpr (std::is_void_v<R>) {
746
802
                  obj(static_cast<decltype(args)>(args)...);
747
802
              }
748
802
              else {
749
802
                  return obj(static_cast<decltype(args)>(args)...);
750
802
              }
751
802
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
2.85k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
2.85k
              cvref<T> obj = *get<T>(fn);
745
2.85k
              if constexpr (std::is_void_v<R>) {
746
2.85k
                  obj(static_cast<decltype(args)>(args)...);
747
2.85k
              }
748
2.85k
              else {
749
2.85k
                  return obj(static_cast<decltype(args)>(args)...);
750
2.85k
              }
751
2.85k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
26.6k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
26.6k
              cvref<T> obj = *get<T>(fn);
745
26.6k
              if constexpr (std::is_void_v<R>) {
746
26.6k
                  obj(static_cast<decltype(args)>(args)...);
747
26.6k
              }
748
26.6k
              else {
749
26.6k
                  return obj(static_cast<decltype(args)>(args)...);
750
26.6k
              }
751
26.6k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
37.5k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
37.5k
              cvref<T> obj = *get<T>(fn);
745
37.5k
              if constexpr (std::is_void_v<R>) {
746
37.5k
                  obj(static_cast<decltype(args)>(args)...);
747
37.5k
              }
748
37.5k
              else {
749
37.5k
                  return obj(static_cast<decltype(args)>(args)...);
750
37.5k
              }
751
37.5k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_ENKUlNS1_12fnref_detail4base7storageES9_SE_SG_E_clES15_S9_SE_SG_
Line
Count
Source
743
27.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
27.8k
              cvref<T> obj = *get<T>(fn);
745
27.8k
              if constexpr (std::is_void_v<R>) {
746
27.8k
                  obj(static_cast<decltype(args)>(args)...);
747
27.8k
              }
748
27.8k
              else {
749
27.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
27.8k
              }
751
27.8k
          }),
_ZZN3scn2v34impl12function_refIFbwES3_EC1IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEwE_clESZ_w
Line
Count
Source
743
280
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
280
              cvref<T> obj = *get<T>(fn);
745
280
              if constexpr (std::is_void_v<R>) {
746
280
                  obj(static_cast<decltype(args)>(args)...);
747
280
              }
748
280
              else {
749
280
                  return obj(static_cast<decltype(args)>(args)...);
750
280
              }
751
280
          }),
_ZZN3scn2v34impl12function_refIFbDiES3_EC1IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_ENKUlNS1_12fnref_detail4base7storageEDiE_clEST_Di
Line
Count
Source
743
724
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
724
              cvref<T> obj = *get<T>(fn);
745
724
              if constexpr (std::is_void_v<R>) {
746
724
                  obj(static_cast<decltype(args)>(args)...);
747
724
              }
748
724
              else {
749
724
                  return obj(static_cast<decltype(args)>(args)...);
750
724
              }
751
724
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
26.5k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
26.5k
              cvref<T> obj = *get<T>(fn);
745
26.5k
              if constexpr (std::is_void_v<R>) {
746
26.5k
                  obj(static_cast<decltype(args)>(args)...);
747
26.5k
              }
748
26.5k
              else {
749
26.5k
                  return obj(static_cast<decltype(args)>(args)...);
750
26.5k
              }
751
26.5k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
27.3k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
27.3k
              cvref<T> obj = *get<T>(fn);
745
27.3k
              if constexpr (std::is_void_v<R>) {
746
27.3k
                  obj(static_cast<decltype(args)>(args)...);
747
27.3k
              }
748
27.3k
              else {
749
27.3k
                  return obj(static_cast<decltype(args)>(args)...);
750
27.3k
              }
751
27.3k
          }),
_ZZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC1IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_ENKUlNS1_12fnref_detail4base7storageESB_SH_SI_E_clES17_SB_SH_SI_
Line
Count
Source
743
27.8k
                    fnref_detail::param_t<Args>... args) noexcept(noex) -> R {
744
27.8k
              cvref<T> obj = *get<T>(fn);
745
27.8k
              if constexpr (std::is_void_v<R>) {
746
27.8k
                  obj(static_cast<decltype(args)>(args)...);
747
27.8k
              }
748
27.8k
              else {
749
27.8k
                  return obj(static_cast<decltype(args)>(args)...);
750
27.8k
              }
751
27.8k
          }),
752
          m_storage(std::addressof(f))
753
57.0M
    {
754
57.0M
    }
scn::v3::impl::function_ref<bool (char), bool (char)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char), bool (char)> >&&)
Line
Count
Source
753
4.55M
    {
754
4.55M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlcE_SV_LPv0EEEOSM_
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)> >&&)
Line
Count
Source
753
15.8M
    {
754
15.8M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlcE_ST_LPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlcE_SY_LPv0EEEOSS_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlcE_SQ_LPv0EEEOSK_
Line
Count
Source
753
1.65M
    {
754
1.65M
    }
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}&&)
Line
Count
Source
753
21.4k
    {
754
21.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlcE_SP_LPv0EEEOSF_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlcE_SV_LPv0EEEOSP_
Line
Count
Source
753
790
    {
754
790
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlcE_SR_LPv0EEEOSH_
Line
Count
Source
753
1.81k
    {
754
1.81k
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
428
    {
754
428
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlcE_S12_LPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlcE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
76.6k
    {
754
76.6k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlcE_SS_LPv0EEEOSM_
Line
Count
Source
753
2.67k
    {
754
2.67k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_
Line
Count
Source
753
532k
    {
754
532k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlcE_SU_LPv0EEEOSL_
Line
Count
Source
753
114k
    {
754
114k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlcE0_SS_LPv0EEEOSM_
Line
Count
Source
753
1.63M
    {
754
1.63M
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
196k
    {
754
196k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlcE_SX_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_
Line
Count
Source
753
6
    {
754
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlcE_SZ_LPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlcE0_SX_LPv0EEEOSR_
Line
Count
Source
753
260
    {
754
260
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
66.4k
    {
754
66.4k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlcE_SP_LPv0EEEOSJ_
Line
Count
Source
753
2.65k
    {
754
2.65k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlcE_SR_LPv0EEEOSI_
Line
Count
Source
753
30.0k
    {
754
30.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlcE0_SP_LPv0EEEOSJ_
Line
Count
Source
753
559k
    {
754
559k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
172k
    {
754
172k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
81.0k
    {
754
81.0k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
203k
    {
754
203k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Line
Count
Source
753
8
    {
754
8
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
Line
Count
Source
753
258
    {
754
258
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
69.6k
    {
754
69.6k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
178k
    {
754
178k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIcEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
82.3k
    {
754
82.3k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
205k
    {
754
205k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEERNS1_12float_readerIcEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
70.7k
    {
754
70.7k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
179k
    {
754
179k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlcE_SW_LPv0EEEOSO_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
301k
    {
754
301k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlcE_SU_LPv0EEEOSM_
Line
Count
Source
753
6.46k
    {
754
6.46k
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
726
    {
754
726
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_
Line
Count
Source
753
34
    {
754
34
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_
Line
Count
Source
753
318
    {
754
318
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlcE_ST_LPv0EEEOSL_
Line
Count
Source
753
300
    {
754
300
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_
Line
Count
Source
753
30
    {
754
30
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_
Line
Count
Source
753
2.36k
    {
754
2.36k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNKS1_25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlcE_SR_LPv0EEEOSJ_
Line
Count
Source
753
13.2k
    {
754
13.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlcE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlcE_S13_LPv0EEEOSL_
Line
Count
Source
753
34
    {
754
34
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlcE_S11_LPv0EEEOSJ_
Line
Count
Source
753
30
    {
754
30
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_
Line
Count
Source
753
34
    {
754
34
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_
Line
Count
Source
753
30
    {
754
30
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlcE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlcE_S11_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbcES3_EC2IZNS1_23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlcE_SZ_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
3.44M
    {
754
3.44M
    }
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::function_ref<std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >, (void*)0>(std::__1::__not_fn_t<scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)> >&&)
Line
Count
Source
753
1.03M
    {
754
1.03M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_lRKNSC_9fill_typeEbEUlwE_SV_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_EUlDiE_SR_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_lRKNSB_9fill_typeEbEUlwE_ST_LPv0EEEOSK_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEENS1_15take_width_viewINSA_ISG_SH_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_iEUlwE_SY_LPv0EEEOSS_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_iEUlwE_SQ_LPv0EEEOSK_
Line
Count
Source
753
303k
    {
754
303k
    }
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::function_ref<scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}, {lambda(char32_t)#1}, (void*)0>(scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}&&)
Line
Count
Source
753
3.34k
    {
754
3.34k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESH_EUlDiE_SM_LPv0EEEOSH_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS8_9add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbEUlwE_SP_LPv0EEEOSF_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_
Line
Count
Source
753
69.9k
    {
754
69.9k
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSE_EENS1_15take_width_viewINSA_ISE_SE_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_iEUlwE_SV_LPv0EEEOSP_
Line
Count
Source
753
346
    {
754
346
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_lRKNS0_6detail9fill_typeEbEUlwE_SR_LPv0EEEOSH_
Line
Count
Source
753
406
    {
754
406
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
78
    {
754
78
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Line
Count
Source
753
8.04M
    {
754
8.04M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_EUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEST_NSR_17basic_string_viewIcNSR_11char_traitsIcEEEEEUlwE_S12_LPv0EEEOST_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS1_15take_width_viewINSC_ISI_SJ_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_bEUlwE0_S10_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
17.7k
    {
754
17.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_EUlwE_SS_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_
Line
Count
Source
753
89.3k
    {
754
89.3k
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEEUlwE_SU_LPv0EEEOSL_
Line
Count
Source
753
5.27k
    {
754
5.27k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE_SS_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_bEUlwE0_SS_LPv0EEEOSM_
Line
Count
Source
753
409k
    {
754
409k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
62.3k
    {
754
62.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlwE_SX_LPv0EEEOSR_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_
Line
Count
Source
753
6
    {
754
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESQ_NSO_17basic_string_viewIcNSO_11char_traitsIcEEEEEUlwE_SZ_LPv0EEEOSQ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE_SX_LPv0EEEOSR_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSG_EENS1_15take_width_viewINSC_ISG_SG_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_bEUlwE0_SX_LPv0EEEOSR_
Line
Count
Source
753
108
    {
754
108
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_fEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
17.7k
    {
754
17.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlwE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEEDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEEEUlwE_SR_LPv0EEEOSI_
Line
Count
Source
753
1.90k
    {
754
1.90k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE_SP_LPv0EEEOSJ_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS1_14parse_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_bEUlwE0_SP_LPv0EEEOSJ_
Line
Count
Source
753
195k
    {
754
195k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
62.3k
    {
754
62.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
18.2k
    {
754
18.2k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
62.8k
    {
754
62.8k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Line
Count
Source
753
6
    {
754
6
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_dEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
Line
Count
Source
753
108
    {
754
108
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
18.2k
    {
754
18.2k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
63.2k
    {
754
63.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E_S1A_LPv0EEEOSW_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEERNS1_12float_readerIwEENS1_15take_width_viewINSA_6detail9subrange_8subrangeIS9_SB_EEEENS6_10locale_refEESO_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISM_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESW_RKNS6_12format_specsERT0_SN_EUlSG_DpOT_E0_S1A_LPv0EEEOSW_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E_S15_LPv0EEEOSR_
Line
Count
Source
753
18.5k
    {
754
18.5k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RKNS4_12format_specsERT0_SI_EUlSB_DpOT_E0_S15_LPv0EEEOSR_
Line
Count
Source
753
63.2k
    {
754
63.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E_S18_LPv0EEEOSU_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEERNS1_12float_readerIwEENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS7_S7_EEEENS0_6detail10locale_refEESM_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISJ_eEENS3_IDTclL_ZNSE_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESU_RKNSK_12format_specsERT0_SL_EUlSC_DpOT_E0_S18_LPv0EEEOSU_
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E_S13_LPv0EEEOSP_
Line
Count
Source
753
18.5k
    {
754
18.5k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE10read_specsISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RKNSF_12format_specsERT0_SG_EUlS9_DpOT_E0_S13_LPv0EEEOSP_
Line
Count
Source
753
63.3k
    {
754
63.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESL_EUlDiE_SQ_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlDiE_SW_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS7_12specs_helperEEUlwE_SW_LPv0EEEOSO_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
3.60M
    {
754
3.60M
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlDiE_SU_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_NS7_12specs_helperEEUlwE_SU_LPv0EEEOSM_
Line
Count
Source
753
9.37k
    {
754
9.37k
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_EUlDiE_SN_LPv0EEEOSI_
Line
Count
Source
753
294
    {
754
294
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_
Line
Count
Source
753
20
    {
754
20
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlDiE_ST_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS7_12specs_helperEEUlwE_ST_LPv0EEEOSL_
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESG_EUlDiE_SL_LPv0EEEOSG_
Line
Count
Source
753
7.23M
    {
754
7.23M
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_
Line
Count
Source
753
26
    {
754
26
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlDiE_SR_LPv0EEEOSJ_
Line
Count
Source
753
288
    {
754
288
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNKS1_25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_NS7_12specs_helperEEUlwE_SR_LPv0EEEOSJ_
Line
Count
Source
753
18.8k
    {
754
18.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_12basic_stringIT0_NSM_11char_traitsISY_EENSM_9allocatorISY_EEEEEUlwE_S15_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_12basic_stringIT0_NSK_11char_traitsISW_EENSK_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_12basic_stringIT0_NSJ_11char_traitsISW_EENSJ_9allocatorISW_EEEEEUlwE_S13_LPv0EEEOSL_
Line
Count
Source
753
20
    {
754
20
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_12basic_stringIT0_NSH_11char_traitsISU_EENSH_9allocatorISU_EEEEEUlwE_S11_LPv0EEEOSJ_
Line
Count
Source
753
26
    {
754
26
    }
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEcEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENSA_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_RKNSE_12format_specsERNSM_17basic_string_viewIT0_NSM_11char_traitsISY_EEEEEUlwE_S13_LPv0EEEOSO_
Unexecuted instantiation: _ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_RKNSD_12format_specsERNSK_17basic_string_viewIT0_NSK_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSM_
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSF_EEEEwEENS0_13scan_expectedIDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERNSJ_17basic_string_viewIT0_NSJ_11char_traitsISW_EEEEEUlwE_S11_LPv0EEEOSL_
Line
Count
Source
753
20
    {
754
20
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IZNS1_23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERNSH_17basic_string_viewIT0_NSH_11char_traitsISU_EEEEEUlwE_SZ_LPv0EEEOSJ_
Line
Count
Source
753
26
    {
754
26
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEEDTclL_ZNS7_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
4.28M
    {
754
4.28M
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_until_classic_spaceINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS7_9add_constIT_E4typeEEEEESE_EUlDiE_SJ_LPv0EEEOSE_
Line
Count
Source
753
159k
    {
754
159k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
99.6k
    {
754
99.6k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
105k
    {
754
105k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKcEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
106k
    {
754
106k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
105k
    {
754
105k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
110k
    {
754
110k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEERNS1_12float_readerIcEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIcE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
111k
    {
754
111k
    }
_ZN3scn2v34impl12function_refIFbcES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlcE_ST_LPv0EEEOSJ_
Line
Count
Source
753
494
    {
754
494
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
1.85k
    {
754
1.85k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_fEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
26.6k
    {
754
26.6k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_dEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
37.5k
    {
754
37.5k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedIPKwEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS5_S5_EENS0_6detail10locale_refEESH_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISE_eEENS3_IDTclL_ZNSA_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_RT0_SG_EUlS9_DpOT_E_S10_LPv0EEEOSP_
Line
Count
Source
753
27.8k
    {
754
27.8k
    }
_ZN3scn2v34impl12function_refIFbwES3_EC2IRKZNS1_9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_lRKNS0_6detail9fill_typeEbEUlwE_ST_LPv0EEEOSJ_
Line
Count
Source
753
234
    {
754
234
    }
_ZN3scn2v34impl12function_refIFbDiES3_EC2IZNS1_24read_while_classic_spaceINS1_15take_width_viewINS7_INS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEEEEDTclL_ZNS8_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESJ_EUlDiE_SO_LPv0EEEOSJ_
Line
Count
Source
753
724
    {
754
724
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_fEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
26.5k
    {
754
26.5k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_dEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
27.3k
    {
754
27.3k
    }
_ZN3scn2v34impl12function_refIFNS0_13scan_expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEERNS1_12float_readerIwEENS0_6ranges6detail9subrange_8subrangeIS7_NSC_18default_sentinel_tEEENS4_10locale_refEESJ_EC2IZNS1_21reader_impl_for_floatIwE12read_defaultISH_eEENS3_IDTclL_ZNSC_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_RT0_SI_EUlSB_DpOT_E_S12_LPv0EEEOSR_
Line
Count
Source
753
27.8k
    {
754
27.8k
    }
755
756
    template <typename T,
757
              std::enable_if_t<detail::is_not_self<T, function_ref> &&
758
                               !std::is_pointer_v<T>>* = nullptr>
759
    function_ref& operator=(T) = delete;
760
761
    constexpr R operator()(Args... args) const noexcept(noex)
762
319M
    {
763
319M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
319M
    }
scn::v3::impl::function_ref<bool (char), bool (char)>::operator()(char) const
Line
Count
Source
762
43.6M
    {
763
43.6M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
43.6M
    }
scn::v3::impl::function_ref<bool (char32_t), bool (char32_t)>::operator()(char32_t) const
Line
Count
Source
762
270M
    {
763
270M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
270M
    }
scn::v3::impl::function_ref<void (char32_t), void (char32_t)>::operator()(char32_t) const
Line
Count
Source
762
41.6k
    {
763
41.6k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
41.6k
    }
Unexecuted instantiation: scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref) const
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
1.17M
    {
763
1.17M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
1.17M
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > (scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, scn::v3::detail::locale_ref) const
Line
Count
Source
762
266
    {
763
266
        return m_fptr(m_storage, SCN_FWD(args)...);
764
266
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<char const*> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref), scn::v3::scan_expected<char const*> (scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<char>&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
1.04M
    {
763
1.04M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
1.04M
    }
scn::v3::impl::function_ref<bool (wchar_t), bool (wchar_t)>::operator()(wchar_t) const
Line
Count
Source
762
2.65M
    {
763
2.65M
        return m_fptr(m_storage, SCN_FWD(args)...);
764
2.65M
    }
Unexecuted instantiation: scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::detail::locale_ref) const
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
324k
    {
763
324k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
324k
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref), scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > (scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, scn::v3::detail::locale_ref) const
Line
Count
Source
762
114
    {
763
114
        return m_fptr(m_storage, SCN_FWD(args)...);
764
114
    }
scn::v3::impl::function_ref<scn::v3::scan_expected<wchar_t const*> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref), scn::v3::scan_expected<wchar_t const*> (scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref)>::operator()(scn::v3::impl::float_reader<wchar_t>&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::detail::locale_ref) const
Line
Count
Source
762
335k
    {
763
335k
        return m_fptr(m_storage, SCN_FWD(args)...);
764
335k
    }
765
766
private:
767
    fwd_t* m_fptr{nullptr};
768
    storage m_storage;
769
};
770
771
template <typename F, std::enable_if_t<std::is_function_v<F>>* = nullptr>
772
function_ref(F*) -> function_ref<F>;
773
}  // namespace impl
774
775
/////////////////////////////////////////////////////////////////
776
// Internal error types
777
/////////////////////////////////////////////////////////////////
778
779
namespace impl {
780
enum class eof_error { good, eof };
781
782
inline constexpr bool operator!(eof_error e)
783
43.1M
{
784
43.1M
    return e != eof_error::good;
785
43.1M
}
786
787
template <typename T>
788
struct eof_expected : public expected<T, eof_error> {
789
    using base = expected<T, eof_error>;
790
    using base::base;
791
792
    constexpr eof_expected(const base& other) : base(other) {}
793
    constexpr eof_expected(base&& other) : base(SCN_MOVE(other)) {}
794
};
795
796
inline constexpr auto make_eof_scan_error(eof_error err)
797
120k
{
798
120k
    SCN_EXPECT(err == eof_error::eof);
799
120k
    return scan_error{scan_error::end_of_range, "EOF"};
800
120k
}
801
802
struct SCN_TRIVIAL_ABI parse_error {
803
    enum code { good, eof, error };
804
    using code_t = code;
805
806
    constexpr parse_error() = default;
807
    constexpr parse_error(code c) : m_code(c)
808
39.2M
    {
809
39.2M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
810
39.2M
    }
811
812
    constexpr explicit operator bool() const
813
0
    {
814
0
        return m_code == good;
815
0
    }
816
    constexpr explicit operator code_t() const
817
0
    {
818
0
        return m_code;
819
0
    }
820
821
    friend constexpr bool operator==(parse_error a, parse_error b)
822
13.9M
    {
823
13.9M
        return a.m_code == b.m_code;
824
13.9M
    }
825
    friend constexpr bool operator!=(parse_error a, parse_error b)
826
0
    {
827
0
        return !(a == b);
828
0
    }
829
830
private:
831
    code m_code{good};
832
};
833
834
template <typename T>
835
struct parse_expected : public expected<T, parse_error> {
836
    using base = expected<T, parse_error>;
837
    using base::base;
838
839
    constexpr parse_expected(const base& other) : base(other) {}
840
    constexpr parse_expected(base&& other) : base(SCN_MOVE(other)) {}
841
};
842
843
inline constexpr parse_error make_eof_parse_error(eof_error err)
844
285k
{
845
285k
    SCN_EXPECT(err == eof_error::eof);
846
285k
    return parse_error::eof;
847
285k
}
848
849
inline constexpr scan_error make_scan_error_from_parse_error(
850
    parse_error err,
851
    enum scan_error::code code,
852
    const char* msg)
853
3.41M
{
854
3.41M
    if (err == parse_error::good) {
855
0
        return {};
856
0
    }
857
858
3.41M
    if (err == parse_error::eof) {
859
67.9k
        return scan_error{scan_error::end_of_range, "EOF"};
860
67.9k
    }
861
862
3.35M
    return scan_error{code, msg};
863
3.41M
}
864
865
inline constexpr auto map_parse_error_to_scan_error(enum scan_error::code code,
866
                                                    const char* msg)
867
4.99M
{
868
4.99M
    return [code, msg](parse_error err) {
869
3.41M
        return make_scan_error_from_parse_error(err, code, msg);
870
3.41M
    };
871
4.99M
}
872
}  // namespace impl
873
874
namespace detail {
875
template <typename T>
876
struct is_expected_impl<scn::impl::parse_expected<T>> : std::true_type {};
877
}  // namespace detail
878
879
/////////////////////////////////////////////////////////////////
880
// Range reading support
881
/////////////////////////////////////////////////////////////////
882
883
namespace impl {
884
#if SCN_MSVC_DEBUG_ITERATORS
885
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 1
886
#else
887
#define SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND 0
888
#endif
889
890
template <typename T>
891
constexpr bool range_supports_nocopy() noexcept
892
{
893
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
894
    return ranges::contiguous_range<T> ||
895
           (ranges::random_access_range<T> &&
896
            detail::can_make_address_from_iterator<ranges::iterator_t<T>>);
897
#else
898
    return ranges::contiguous_range<T>;
899
#endif
900
}
901
902
template <typename R>
903
constexpr auto range_nocopy_data(const R& r) noexcept
904
{
905
    static_assert(range_supports_nocopy<R>());
906
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
907
    return detail::to_address(ranges::begin(r));
908
#else
909
    return ranges::data(r);
910
#endif
911
}
912
913
template <typename R>
914
constexpr auto range_nocopy_size(const R& r) noexcept
915
{
916
    static_assert(range_supports_nocopy<R>());
917
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
918
    return static_cast<size_t>(ranges::distance(detail::to_address(r.begin()),
919
                                                detail::to_address(r.end())));
920
#else
921
    return r.size();
922
#endif
923
}
924
925
template <typename I, typename S>
926
SCN_NODISCARD constexpr bool is_range_eof(I begin, S end)
927
638M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
638M
    {
937
638M
        return begin == end;
938
638M
    }
939
638M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
bool scn::v3::impl::is_range_eof<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
927
20.5M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
20.5M
    {
937
20.5M
        return begin == end;
938
20.5M
    }
939
20.5M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
927
30.3k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
30.3k
    {
937
30.3k
        return begin == end;
938
30.3k
    }
939
30.3k
}
bool scn::v3::impl::is_range_eof<char const*, char const*>(char const*, char const*)
Line
Count
Source
927
11.2M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
11.2M
    {
937
11.2M
        return begin == end;
938
11.2M
    }
939
11.2M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
bool scn::v3::impl::is_range_eof<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
927
83.3M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
83.3M
    {
937
83.3M
        return begin == end;
938
83.3M
    }
939
83.3M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
bool scn::v3::impl::is_range_eof<wchar_t const*, wchar_t const*>(wchar_t const*, wchar_t const*)
Line
Count
Source
927
523M
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
523M
    {
937
523M
        return begin == end;
938
523M
    }
939
523M
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
927
7.97k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
7.97k
    {
937
7.97k
        return begin == end;
938
7.97k
    }
939
7.97k
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
927
4.70k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
4.70k
    {
937
4.70k
        return begin == end;
938
4.70k
    }
939
4.70k
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
Line
Count
Source
927
1.44k
{
928
#if SCN_NEED_MS_DEBUG_ITERATOR_WORKAROUND
929
    if constexpr (ranges::contiguous_iterator<I> ||
930
                  (ranges::random_access_iterator<I> &&
931
                   detail::can_make_address_from_iterator<I>)) {
932
        return detail::to_address(begin) == detail::to_address(end);
933
    }
934
    else
935
#endif
936
1.44k
    {
937
1.44k
        return begin == end;
938
1.44k
    }
939
1.44k
}
940
941
template <typename Range>
942
SCN_NODISCARD constexpr bool is_range_eof(Range r)
943
280M
{
944
280M
    return is_range_eof(r.begin(), r.end());
945
280M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
943
20.5M
{
944
20.5M
    return is_range_eof(r.begin(), r.end());
945
20.5M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
943
1.86k
{
944
1.86k
    return is_range_eof(r.begin(), r.end());
945
1.86k
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
943
28.4k
{
944
28.4k
    return is_range_eof(r.begin(), r.end());
945
28.4k
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
943
11.2M
{
944
11.2M
    return is_range_eof(r.begin(), r.end());
945
11.2M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
943
83.3M
{
944
83.3M
    return is_range_eof(r.begin(), r.end());
945
83.3M
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
943
164M
{
944
164M
    return is_range_eof(r.begin(), r.end());
945
164M
}
bool scn::v3::impl::is_range_eof<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
943
806
{
944
806
    return is_range_eof(r.begin(), r.end());
945
806
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
943
7.16k
{
944
7.16k
    return is_range_eof(r.begin(), r.end());
945
7.16k
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
943
4.70k
{
944
4.70k
    return is_range_eof(r.begin(), r.end());
945
4.70k
}
bool scn::v3::impl::is_range_eof<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
943
1.44k
{
944
1.44k
    return is_range_eof(r.begin(), r.end());
945
1.44k
}
Unexecuted instantiation: bool scn::v3::impl::is_range_eof<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
946
947
template <typename Range>
948
SCN_NODISCARD constexpr eof_error eof_check(Range range)
949
43.1M
{
950
43.1M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
148k
        return eof_error::eof;
952
148k
    }
953
43.0M
    return eof_error::good;
954
43.1M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
949
10.7M
{
950
10.7M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
66.4k
        return eof_error::eof;
952
66.4k
    }
953
10.7M
    return eof_error::good;
954
10.7M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
949
1.86k
{
950
1.86k
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
1.86k
    return eof_error::good;
954
1.86k
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
949
34
{
950
34
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
34
    return eof_error::good;
954
34
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
949
10.8M
{
950
10.8M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
53.3k
        return eof_error::eof;
952
53.3k
    }
953
10.8M
    return eof_error::good;
954
10.8M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
949
7.69M
{
950
7.69M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
11.9k
        return eof_error::eof;
952
11.9k
    }
953
7.68M
    return eof_error::good;
954
7.69M
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
949
13.8M
{
950
13.8M
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
16.4k
        return eof_error::eof;
952
16.4k
    }
953
13.8M
    return eof_error::good;
954
13.8M
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
949
806
{
950
806
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
806
    return eof_error::good;
954
806
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
949
30
{
950
30
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
30
    return eof_error::good;
954
30
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
949
1.85k
{
950
1.85k
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
142
        return eof_error::eof;
952
142
    }
953
1.71k
    return eof_error::good;
954
1.85k
}
scn::v3::impl::eof_error scn::v3::impl::eof_check<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
Line
Count
Source
949
724
{
950
724
    if (SCN_UNLIKELY(is_range_eof(range))) {
951
0
        return eof_error::eof;
952
0
    }
953
724
    return eof_error::good;
954
724
}
Unexecuted instantiation: scn::v3::impl::eof_error scn::v3::impl::eof_check<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
955
956
template <typename Range>
957
bool is_entire_source_contiguous(Range r)
958
15.4k
{
959
15.4k
    if constexpr (ranges::contiguous_range<Range> &&
960
15.4k
                  ranges::sized_range<Range>) {
961
528
        return true;
962
528
    }
963
528
    else if constexpr (std::is_same_v<
964
528
                           ranges::const_iterator_t<Range>,
965
528
                           typename detail::basic_scan_buffer<
966
528
                               detail::char_t<Range>>::forward_iterator>) {
967
528
        auto beg = r.begin();
968
528
        if (!beg.stores_parent()) {
969
0
            return true;
970
0
        }
971
0
        return beg.parent()->is_contiguous();
972
0
    }
973
528
    else {
974
528
        return false;
975
528
    }
976
15.4k
}
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
958
510
{
959
510
    if constexpr (ranges::contiguous_range<Range> &&
960
510
                  ranges::sized_range<Range>) {
961
510
        return true;
962
510
    }
963
510
    else if constexpr (std::is_same_v<
964
510
                           ranges::const_iterator_t<Range>,
965
510
                           typename detail::basic_scan_buffer<
966
510
                               detail::char_t<Range>>::forward_iterator>) {
967
510
        auto beg = r.begin();
968
510
        if (!beg.stores_parent()) {
969
510
            return true;
970
510
        }
971
510
        return beg.parent()->is_contiguous();
972
510
    }
973
510
    else {
974
510
        return false;
975
510
    }
976
510
}
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
958
9.51k
{
959
9.51k
    if constexpr (ranges::contiguous_range<Range> &&
960
9.51k
                  ranges::sized_range<Range>) {
961
9.51k
        return true;
962
9.51k
    }
963
9.51k
    else if constexpr (std::is_same_v<
964
9.51k
                           ranges::const_iterator_t<Range>,
965
9.51k
                           typename detail::basic_scan_buffer<
966
9.51k
                               detail::char_t<Range>>::forward_iterator>) {
967
9.51k
        auto beg = r.begin();
968
9.51k
        if (!beg.stores_parent()) {
969
9.51k
            return true;
970
9.51k
        }
971
9.51k
        return beg.parent()->is_contiguous();
972
9.51k
    }
973
9.51k
    else {
974
9.51k
        return false;
975
9.51k
    }
976
9.51k
}
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
958
18
{
959
18
    if constexpr (ranges::contiguous_range<Range> &&
960
18
                  ranges::sized_range<Range>) {
961
18
        return true;
962
18
    }
963
18
    else if constexpr (std::is_same_v<
964
18
                           ranges::const_iterator_t<Range>,
965
18
                           typename detail::basic_scan_buffer<
966
18
                               detail::char_t<Range>>::forward_iterator>) {
967
18
        auto beg = r.begin();
968
18
        if (!beg.stores_parent()) {
969
18
            return true;
970
18
        }
971
18
        return beg.parent()->is_contiguous();
972
18
    }
973
18
    else {
974
18
        return false;
975
18
    }
976
18
}
bool scn::v3::impl::is_entire_source_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
958
5.38k
{
959
5.38k
    if constexpr (ranges::contiguous_range<Range> &&
960
5.38k
                  ranges::sized_range<Range>) {
961
5.38k
        return true;
962
5.38k
    }
963
5.38k
    else if constexpr (std::is_same_v<
964
5.38k
                           ranges::const_iterator_t<Range>,
965
5.38k
                           typename detail::basic_scan_buffer<
966
5.38k
                               detail::char_t<Range>>::forward_iterator>) {
967
5.38k
        auto beg = r.begin();
968
5.38k
        if (!beg.stores_parent()) {
969
5.38k
            return true;
970
5.38k
        }
971
5.38k
        return beg.parent()->is_contiguous();
972
5.38k
    }
973
5.38k
    else {
974
5.38k
        return false;
975
5.38k
    }
976
5.38k
}
977
978
template <typename Range>
979
bool is_segment_contiguous(Range r)
980
8.00M
{
981
8.00M
    if constexpr (ranges::contiguous_range<Range> &&
982
8.00M
                  ranges::sized_range<Range>) {
983
7.98M
        return true;
984
7.98M
    }
985
7.98M
    else if constexpr (std::is_same_v<
986
7.98M
                           ranges::const_iterator_t<Range>,
987
7.98M
                           typename detail::basic_scan_buffer<
988
7.98M
                               detail::char_t<Range>>::forward_iterator>) {
989
0
        auto beg = r.begin();
990
7.98M
        if (beg.contiguous_segment().empty()) {
991
7.98M
            return false;
992
7.98M
        }
993
0
        if constexpr (ranges::common_range<Range>) {
994
0
            return beg.contiguous_segment().end() ==
995
0
                   ranges::end(r).contiguous_segment().end();
996
0
        }
997
0
        else {
998
0
            if (beg.stores_parent()) {
999
0
                return beg.contiguous_segment().end() ==
1000
0
                       beg.parent()->current_view().end();
1001
0
            }
1002
0
            return true;
1003
0
        }
1004
0
    }
1005
0
    else {
1006
0
        return false;
1007
0
    }
1008
8.00M
}
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
980
3.69M
{
981
3.69M
    if constexpr (ranges::contiguous_range<Range> &&
982
3.69M
                  ranges::sized_range<Range>) {
983
3.69M
        return true;
984
3.69M
    }
985
3.69M
    else if constexpr (std::is_same_v<
986
3.69M
                           ranges::const_iterator_t<Range>,
987
3.69M
                           typename detail::basic_scan_buffer<
988
3.69M
                               detail::char_t<Range>>::forward_iterator>) {
989
3.69M
        auto beg = r.begin();
990
3.69M
        if (beg.contiguous_segment().empty()) {
991
3.69M
            return false;
992
3.69M
        }
993
0
        if constexpr (ranges::common_range<Range>) {
994
0
            return beg.contiguous_segment().end() ==
995
0
                   ranges::end(r).contiguous_segment().end();
996
0
        }
997
0
        else {
998
0
            if (beg.stores_parent()) {
999
0
                return beg.contiguous_segment().end() ==
1000
0
                       beg.parent()->current_view().end();
1001
0
            }
1002
0
            return true;
1003
0
        }
1004
0
    }
1005
3.69M
    else {
1006
3.69M
        return false;
1007
3.69M
    }
1008
3.69M
}
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
980
9.51k
{
981
9.51k
    if constexpr (ranges::contiguous_range<Range> &&
982
9.51k
                  ranges::sized_range<Range>) {
983
9.51k
        return true;
984
9.51k
    }
985
9.51k
    else if constexpr (std::is_same_v<
986
9.51k
                           ranges::const_iterator_t<Range>,
987
9.51k
                           typename detail::basic_scan_buffer<
988
9.51k
                               detail::char_t<Range>>::forward_iterator>) {
989
9.51k
        auto beg = r.begin();
990
9.51k
        if (beg.contiguous_segment().empty()) {
991
9.51k
            return false;
992
9.51k
        }
993
9.51k
        if constexpr (ranges::common_range<Range>) {
994
9.51k
            return beg.contiguous_segment().end() ==
995
9.51k
                   ranges::end(r).contiguous_segment().end();
996
9.51k
        }
997
9.51k
        else {
998
9.51k
            if (beg.stores_parent()) {
999
9.51k
                return beg.contiguous_segment().end() ==
1000
9.51k
                       beg.parent()->current_view().end();
1001
9.51k
            }
1002
9.51k
            return true;
1003
9.51k
        }
1004
9.51k
    }
1005
9.51k
    else {
1006
9.51k
        return false;
1007
9.51k
    }
1008
9.51k
}
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
980
4.29M
{
981
4.29M
    if constexpr (ranges::contiguous_range<Range> &&
982
4.29M
                  ranges::sized_range<Range>) {
983
4.29M
        return true;
984
4.29M
    }
985
4.29M
    else if constexpr (std::is_same_v<
986
4.29M
                           ranges::const_iterator_t<Range>,
987
4.29M
                           typename detail::basic_scan_buffer<
988
4.29M
                               detail::char_t<Range>>::forward_iterator>) {
989
4.29M
        auto beg = r.begin();
990
4.29M
        if (beg.contiguous_segment().empty()) {
991
4.29M
            return false;
992
4.29M
        }
993
0
        if constexpr (ranges::common_range<Range>) {
994
0
            return beg.contiguous_segment().end() ==
995
0
                   ranges::end(r).contiguous_segment().end();
996
0
        }
997
0
        else {
998
0
            if (beg.stores_parent()) {
999
0
                return beg.contiguous_segment().end() ==
1000
0
                       beg.parent()->current_view().end();
1001
0
            }
1002
0
            return true;
1003
0
        }
1004
0
    }
1005
4.29M
    else {
1006
4.29M
        return false;
1007
4.29M
    }
1008
4.29M
}
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: bool scn::v3::impl::is_segment_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
bool scn::v3::impl::is_segment_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
980
5.38k
{
981
5.38k
    if constexpr (ranges::contiguous_range<Range> &&
982
5.38k
                  ranges::sized_range<Range>) {
983
5.38k
        return true;
984
5.38k
    }
985
5.38k
    else if constexpr (std::is_same_v<
986
5.38k
                           ranges::const_iterator_t<Range>,
987
5.38k
                           typename detail::basic_scan_buffer<
988
5.38k
                               detail::char_t<Range>>::forward_iterator>) {
989
5.38k
        auto beg = r.begin();
990
5.38k
        if (beg.contiguous_segment().empty()) {
991
5.38k
            return false;
992
5.38k
        }
993
5.38k
        if constexpr (ranges::common_range<Range>) {
994
5.38k
            return beg.contiguous_segment().end() ==
995
5.38k
                   ranges::end(r).contiguous_segment().end();
996
5.38k
        }
997
5.38k
        else {
998
5.38k
            if (beg.stores_parent()) {
999
5.38k
                return beg.contiguous_segment().end() ==
1000
5.38k
                       beg.parent()->current_view().end();
1001
5.38k
            }
1002
5.38k
            return true;
1003
5.38k
        }
1004
5.38k
    }
1005
5.38k
    else {
1006
5.38k
        return false;
1007
5.38k
    }
1008
5.38k
}
1009
1010
template <typename Range>
1011
std::size_t contiguous_beginning_size(Range r)
1012
{
1013
    if constexpr (ranges::contiguous_range<Range> &&
1014
                  ranges::sized_range<Range>) {
1015
        return r.size();
1016
    }
1017
    else if constexpr (std::is_same_v<
1018
                           ranges::const_iterator_t<Range>,
1019
                           typename detail::basic_scan_buffer<
1020
                               detail::char_t<Range>>::forward_iterator>) {
1021
        if constexpr (ranges::common_range<Range>) {
1022
            auto seg = r.begin().contiguous_segment();
1023
            auto dist =
1024
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1025
            return std::min(seg.size(), dist);
1026
        }
1027
        else {
1028
            return r.begin().contiguous_segment().size();
1029
        }
1030
    }
1031
    else {
1032
        return false;
1033
    }
1034
}
1035
1036
template <typename Range>
1037
auto get_contiguous_beginning(Range r)
1038
3.98M
{
1039
3.98M
    if constexpr (ranges::contiguous_range<Range> &&
1040
3.98M
                  ranges::sized_range<Range>) {
1041
3.98M
        return r;
1042
3.98M
    }
1043
3.98M
    else if constexpr (std::is_same_v<
1044
3.98M
                           ranges::const_iterator_t<Range>,
1045
3.98M
                           typename detail::basic_scan_buffer<
1046
3.98M
                               detail::char_t<Range>>::forward_iterator>) {
1047
3.97M
        if constexpr (ranges::common_range<Range>) {
1048
3.97M
            auto seg = r.begin().contiguous_segment();
1049
3.97M
            auto dist =
1050
3.97M
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
3.97M
            return seg.substr(0, std::min(seg.size(), dist));
1052
3.97M
        }
1053
3.97M
        else {
1054
3.97M
            return r.begin().contiguous_segment();
1055
3.97M
        }
1056
3.97M
    }
1057
3.01k
    else {
1058
3.01k
        return std::basic_string_view<detail::char_t<Range>>{};
1059
3.01k
    }
1060
3.98M
}
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > > >(scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >)
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > > >(scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >)
Unexecuted instantiation: auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >)
auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1038
1.15k
{
1039
1.15k
    if constexpr (ranges::contiguous_range<Range> &&
1040
1.15k
                  ranges::sized_range<Range>) {
1041
1.15k
        return r;
1042
1.15k
    }
1043
1.15k
    else if constexpr (std::is_same_v<
1044
1.15k
                           ranges::const_iterator_t<Range>,
1045
1.15k
                           typename detail::basic_scan_buffer<
1046
1.15k
                               detail::char_t<Range>>::forward_iterator>) {
1047
1.15k
        if constexpr (ranges::common_range<Range>) {
1048
1.15k
            auto seg = r.begin().contiguous_segment();
1049
1.15k
            auto dist =
1050
1.15k
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
1.15k
            return seg.substr(0, std::min(seg.size(), dist));
1052
1.15k
        }
1053
1.15k
        else {
1054
1.15k
            return r.begin().contiguous_segment();
1055
1.15k
        }
1056
1.15k
    }
1057
1.15k
    else {
1058
1.15k
        return std::basic_string_view<detail::char_t<Range>>{};
1059
1.15k
    }
1060
1.15k
}
auto scn::v3::impl::get_contiguous_beginning<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
1038
3.97M
{
1039
3.97M
    if constexpr (ranges::contiguous_range<Range> &&
1040
3.97M
                  ranges::sized_range<Range>) {
1041
3.97M
        return r;
1042
3.97M
    }
1043
3.97M
    else if constexpr (std::is_same_v<
1044
3.97M
                           ranges::const_iterator_t<Range>,
1045
3.97M
                           typename detail::basic_scan_buffer<
1046
3.97M
                               detail::char_t<Range>>::forward_iterator>) {
1047
3.97M
        if constexpr (ranges::common_range<Range>) {
1048
3.97M
            auto seg = r.begin().contiguous_segment();
1049
3.97M
            auto dist =
1050
3.97M
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
3.97M
            return seg.substr(0, std::min(seg.size(), dist));
1052
3.97M
        }
1053
3.97M
        else {
1054
3.97M
            return r.begin().contiguous_segment();
1055
3.97M
        }
1056
3.97M
    }
1057
3.97M
    else {
1058
3.97M
        return std::basic_string_view<detail::char_t<Range>>{};
1059
3.97M
    }
1060
3.97M
}
auto scn::v3::impl::get_contiguous_beginning<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > > >(scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >)
Line
Count
Source
1038
1.85k
{
1039
1.85k
    if constexpr (ranges::contiguous_range<Range> &&
1040
1.85k
                  ranges::sized_range<Range>) {
1041
1.85k
        return r;
1042
1.85k
    }
1043
1.85k
    else if constexpr (std::is_same_v<
1044
1.85k
                           ranges::const_iterator_t<Range>,
1045
1.85k
                           typename detail::basic_scan_buffer<
1046
1.85k
                               detail::char_t<Range>>::forward_iterator>) {
1047
1.85k
        if constexpr (ranges::common_range<Range>) {
1048
1.85k
            auto seg = r.begin().contiguous_segment();
1049
1.85k
            auto dist =
1050
1.85k
                static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1051
1.85k
            return seg.substr(0, std::min(seg.size(), dist));
1052
1.85k
        }
1053
1.85k
        else {
1054
1.85k
            return r.begin().contiguous_segment();
1055
1.85k
        }
1056
1.85k
    }
1057
1.85k
    else {
1058
1.85k
        return std::basic_string_view<detail::char_t<Range>>{};
1059
1.85k
    }
1060
1.85k
}
1061
1062
template <typename Range>
1063
auto get_as_contiguous(Range r)
1064
14.9k
{
1065
14.9k
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
14.9k
    if constexpr (ranges::contiguous_range<Range> &&
1068
14.9k
                  ranges::sized_range<Range>) {
1069
0
        return r;
1070
0
    }
1071
0
    else if constexpr (std::is_same_v<
1072
0
                           ranges::const_iterator_t<Range>,
1073
0
                           typename detail::basic_scan_buffer<
1074
0
                               detail::char_t<Range>>::forward_iterator>) {
1075
0
        if constexpr (ranges::common_range<Range>) {
1076
0
            return detail::make_string_view_from_pointers(
1077
0
                r.begin().to_contiguous_segment_iterator(),
1078
0
                r.end().to_contiguous_segment_iterator());
1079
0
        }
1080
0
        else {
1081
0
            return r.begin().contiguous_segment();
1082
0
        }
1083
0
    }
1084
0
    else {
1085
0
        SCN_EXPECT(false);
1086
0
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
0
        return std::basic_string_view<detail::char_t<Range>>{};
1089
0
    }
1090
14.9k
}
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
1064
9.51k
{
1065
9.51k
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
9.51k
    if constexpr (ranges::contiguous_range<Range> &&
1068
9.51k
                  ranges::sized_range<Range>) {
1069
9.51k
        return r;
1070
9.51k
    }
1071
9.51k
    else if constexpr (std::is_same_v<
1072
9.51k
                           ranges::const_iterator_t<Range>,
1073
9.51k
                           typename detail::basic_scan_buffer<
1074
9.51k
                               detail::char_t<Range>>::forward_iterator>) {
1075
9.51k
        if constexpr (ranges::common_range<Range>) {
1076
9.51k
            return detail::make_string_view_from_pointers(
1077
9.51k
                r.begin().to_contiguous_segment_iterator(),
1078
9.51k
                r.end().to_contiguous_segment_iterator());
1079
9.51k
        }
1080
9.51k
        else {
1081
9.51k
            return r.begin().contiguous_segment();
1082
9.51k
        }
1083
9.51k
    }
1084
9.51k
    else {
1085
9.51k
        SCN_EXPECT(false);
1086
9.51k
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
9.51k
        return std::basic_string_view<detail::char_t<Range>>{};
1089
9.51k
    }
1090
9.51k
}
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: auto scn::v3::impl::get_as_contiguous<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
auto scn::v3::impl::get_as_contiguous<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
1064
5.38k
{
1065
5.38k
    SCN_EXPECT(is_segment_contiguous(r));
1066
1067
5.38k
    if constexpr (ranges::contiguous_range<Range> &&
1068
5.38k
                  ranges::sized_range<Range>) {
1069
5.38k
        return r;
1070
5.38k
    }
1071
5.38k
    else if constexpr (std::is_same_v<
1072
5.38k
                           ranges::const_iterator_t<Range>,
1073
5.38k
                           typename detail::basic_scan_buffer<
1074
5.38k
                               detail::char_t<Range>>::forward_iterator>) {
1075
5.38k
        if constexpr (ranges::common_range<Range>) {
1076
5.38k
            return detail::make_string_view_from_pointers(
1077
5.38k
                r.begin().to_contiguous_segment_iterator(),
1078
5.38k
                r.end().to_contiguous_segment_iterator());
1079
5.38k
        }
1080
5.38k
        else {
1081
5.38k
            return r.begin().contiguous_segment();
1082
5.38k
        }
1083
5.38k
    }
1084
5.38k
    else {
1085
5.38k
        SCN_EXPECT(false);
1086
5.38k
        SCN_UNREACHABLE;
1087
        // for return type deduction
1088
5.38k
        return std::basic_string_view<detail::char_t<Range>>{};
1089
5.38k
    }
1090
5.38k
}
1091
1092
template <typename Range>
1093
std::size_t guaranteed_minimum_size(Range r)
1094
6.21M
{
1095
6.21M
    if constexpr (ranges::sized_range<Range>) {
1096
6.21M
        return r.size();
1097
6.21M
    }
1098
6.21M
    else if constexpr (std::is_same_v<
1099
6.21M
                           ranges::const_iterator_t<Range>,
1100
6.21M
                           typename detail::basic_scan_buffer<
1101
6.21M
                               detail::char_t<Range>>::forward_iterator>) {
1102
6.20M
        if constexpr (ranges::common_range<Range>) {
1103
6.20M
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
6.20M
        }
1105
6.20M
        else {
1106
6.20M
            if (r.begin().stores_parent()) {
1107
6.20M
                return static_cast<size_t>(
1108
6.20M
                    r.begin().parent()->chars_available() -
1109
6.20M
                    r.begin().position());
1110
6.20M
            }
1111
0
            return r.begin().contiguous_segment().size();
1112
6.20M
        }
1113
6.20M
    }
1114
4.60k
    else {
1115
4.60k
        return 0;
1116
4.60k
    }
1117
6.21M
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
1094
5.08M
{
1095
5.08M
    if constexpr (ranges::sized_range<Range>) {
1096
5.08M
        return r.size();
1097
5.08M
    }
1098
5.08M
    else if constexpr (std::is_same_v<
1099
5.08M
                           ranges::const_iterator_t<Range>,
1100
5.08M
                           typename detail::basic_scan_buffer<
1101
5.08M
                               detail::char_t<Range>>::forward_iterator>) {
1102
5.08M
        if constexpr (ranges::common_range<Range>) {
1103
5.08M
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
5.08M
        }
1105
5.08M
        else {
1106
5.08M
            if (r.begin().stores_parent()) {
1107
5.08M
                return static_cast<size_t>(
1108
5.08M
                    r.begin().parent()->chars_available() -
1109
5.08M
                    r.begin().position());
1110
5.08M
            }
1111
0
            return r.begin().contiguous_segment().size();
1112
5.08M
        }
1113
5.08M
    }
1114
5.08M
    else {
1115
5.08M
        return 0;
1116
5.08M
    }
1117
5.08M
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >)
Line
Count
Source
1094
3.03k
{
1095
3.03k
    if constexpr (ranges::sized_range<Range>) {
1096
3.03k
        return r.size();
1097
3.03k
    }
1098
3.03k
    else if constexpr (std::is_same_v<
1099
3.03k
                           ranges::const_iterator_t<Range>,
1100
3.03k
                           typename detail::basic_scan_buffer<
1101
3.03k
                               detail::char_t<Range>>::forward_iterator>) {
1102
3.03k
        if constexpr (ranges::common_range<Range>) {
1103
3.03k
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
3.03k
        }
1105
3.03k
        else {
1106
3.03k
            if (r.begin().stores_parent()) {
1107
3.03k
                return static_cast<size_t>(
1108
3.03k
                    r.begin().parent()->chars_available() -
1109
3.03k
                    r.begin().position());
1110
3.03k
            }
1111
3.03k
            return r.begin().contiguous_segment().size();
1112
3.03k
        }
1113
3.03k
    }
1114
3.03k
    else {
1115
3.03k
        return 0;
1116
3.03k
    }
1117
3.03k
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
1094
1.12M
{
1095
1.12M
    if constexpr (ranges::sized_range<Range>) {
1096
1.12M
        return r.size();
1097
1.12M
    }
1098
1.12M
    else if constexpr (std::is_same_v<
1099
1.12M
                           ranges::const_iterator_t<Range>,
1100
1.12M
                           typename detail::basic_scan_buffer<
1101
1.12M
                               detail::char_t<Range>>::forward_iterator>) {
1102
1.12M
        if constexpr (ranges::common_range<Range>) {
1103
1.12M
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
1.12M
        }
1105
1.12M
        else {
1106
1.12M
            if (r.begin().stores_parent()) {
1107
1.12M
                return static_cast<size_t>(
1108
1.12M
                    r.begin().parent()->chars_available() -
1109
1.12M
                    r.begin().position());
1110
1.12M
            }
1111
0
            return r.begin().contiguous_segment().size();
1112
1.12M
        }
1113
1.12M
    }
1114
1.12M
    else {
1115
1.12M
        return 0;
1116
1.12M
    }
1117
1.12M
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >)
Line
Count
Source
1094
510
{
1095
510
    if constexpr (ranges::sized_range<Range>) {
1096
510
        return r.size();
1097
510
    }
1098
510
    else if constexpr (std::is_same_v<
1099
510
                           ranges::const_iterator_t<Range>,
1100
510
                           typename detail::basic_scan_buffer<
1101
510
                               detail::char_t<Range>>::forward_iterator>) {
1102
510
        if constexpr (ranges::common_range<Range>) {
1103
510
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
510
        }
1105
510
        else {
1106
510
            if (r.begin().stores_parent()) {
1107
510
                return static_cast<size_t>(
1108
510
                    r.begin().parent()->chars_available() -
1109
510
                    r.begin().position());
1110
510
            }
1111
510
            return r.begin().contiguous_segment().size();
1112
510
        }
1113
510
    }
1114
510
    else {
1115
510
        return 0;
1116
510
    }
1117
510
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >)
Line
Count
Source
1094
204
{
1095
204
    if constexpr (ranges::sized_range<Range>) {
1096
204
        return r.size();
1097
204
    }
1098
204
    else if constexpr (std::is_same_v<
1099
204
                           ranges::const_iterator_t<Range>,
1100
204
                           typename detail::basic_scan_buffer<
1101
204
                               detail::char_t<Range>>::forward_iterator>) {
1102
204
        if constexpr (ranges::common_range<Range>) {
1103
204
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
204
        }
1105
204
        else {
1106
204
            if (r.begin().stores_parent()) {
1107
204
                return static_cast<size_t>(
1108
204
                    r.begin().parent()->chars_available() -
1109
204
                    r.begin().position());
1110
204
            }
1111
204
            return r.begin().contiguous_segment().size();
1112
204
        }
1113
204
    }
1114
204
    else {
1115
204
        return 0;
1116
204
    }
1117
204
}
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
1094
608
{
1095
608
    if constexpr (ranges::sized_range<Range>) {
1096
608
        return r.size();
1097
608
    }
1098
608
    else if constexpr (std::is_same_v<
1099
608
                           ranges::const_iterator_t<Range>,
1100
608
                           typename detail::basic_scan_buffer<
1101
608
                               detail::char_t<Range>>::forward_iterator>) {
1102
608
        if constexpr (ranges::common_range<Range>) {
1103
608
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
608
        }
1105
608
        else {
1106
608
            if (r.begin().stores_parent()) {
1107
608
                return static_cast<size_t>(
1108
608
                    r.begin().parent()->chars_available() -
1109
608
                    r.begin().position());
1110
608
            }
1111
608
            return r.begin().contiguous_segment().size();
1112
608
        }
1113
608
    }
1114
608
    else {
1115
608
        return 0;
1116
608
    }
1117
608
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >)
unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
Line
Count
Source
1094
248
{
1095
248
    if constexpr (ranges::sized_range<Range>) {
1096
248
        return r.size();
1097
248
    }
1098
248
    else if constexpr (std::is_same_v<
1099
248
                           ranges::const_iterator_t<Range>,
1100
248
                           typename detail::basic_scan_buffer<
1101
248
                               detail::char_t<Range>>::forward_iterator>) {
1102
248
        if constexpr (ranges::common_range<Range>) {
1103
248
            return static_cast<size_t>(ranges::distance(r.begin(), r.end()));
1104
248
        }
1105
248
        else {
1106
248
            if (r.begin().stores_parent()) {
1107
248
                return static_cast<size_t>(
1108
248
                    r.begin().parent()->chars_available() -
1109
248
                    r.begin().position());
1110
248
            }
1111
248
            return r.begin().contiguous_segment().size();
1112
248
        }
1113
248
    }
1114
248
    else {
1115
248
        return 0;
1116
248
    }
1117
248
}
Unexecuted instantiation: unsigned long scn::v3::impl::guaranteed_minimum_size<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
1118
1119
template <typename I, typename T>
1120
struct iterator_value_result {
1121
    SCN_NO_UNIQUE_ADDRESS I iterator;
1122
    SCN_NO_UNIQUE_ADDRESS T value;
1123
};
1124
1125
/////////////////////////////////////////////////////////////////
1126
// Unicode
1127
/////////////////////////////////////////////////////////////////
1128
1129
template <typename CharT>
1130
constexpr bool validate_unicode(std::basic_string_view<CharT> src)
1131
11.6M
{
1132
11.6M
    auto it = src.begin();
1133
204M
    while (it != src.end()) {
1134
193M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
193M
        if (len == 0) {
1136
13.3k
            return false;
1137
13.3k
        }
1138
193M
        if (src.end() - it < len) {
1139
1.94k
            return false;
1140
1.94k
        }
1141
193M
        const auto cp = detail::decode_code_point_exhaustive(
1142
193M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
193M
        if (cp >= detail::invalid_code_point) {
1144
64.1k
            return false;
1145
64.1k
        }
1146
193M
        it += len;
1147
193M
    }
1148
11.6M
    return true;
1149
11.6M
}
bool scn::v3::impl::validate_unicode<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1131
848k
{
1132
848k
    auto it = src.begin();
1133
6.92M
    while (it != src.end()) {
1134
6.09M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
6.09M
        if (len == 0) {
1136
13.3k
            return false;
1137
13.3k
        }
1138
6.08M
        if (src.end() - it < len) {
1139
1.94k
            return false;
1140
1.94k
        }
1141
6.08M
        const auto cp = detail::decode_code_point_exhaustive(
1142
6.08M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
6.08M
        if (cp >= detail::invalid_code_point) {
1144
9.38k
            return false;
1145
9.38k
        }
1146
6.07M
        it += len;
1147
6.07M
    }
1148
824k
    return true;
1149
848k
}
bool scn::v3::impl::validate_unicode<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1131
10.8M
{
1132
10.8M
    auto it = src.begin();
1133
198M
    while (it != src.end()) {
1134
187M
        const auto len = detail::code_point_length_by_starting_code_unit(*it);
1135
187M
        if (len == 0) {
1136
0
            return false;
1137
0
        }
1138
187M
        if (src.end() - it < len) {
1139
0
            return false;
1140
0
        }
1141
187M
        const auto cp = detail::decode_code_point_exhaustive(
1142
187M
            detail::make_string_view_from_iterators<CharT>(it, it + len));
1143
187M
        if (cp >= detail::invalid_code_point) {
1144
54.7k
            return false;
1145
54.7k
        }
1146
187M
        it += len;
1147
187M
    }
1148
10.7M
    return true;
1149
10.8M
}
1150
1151
template <typename Range>
1152
constexpr auto get_start_for_next_code_point(Range input)
1153
    -> ranges::const_iterator_t<Range>
1154
150k
{
1155
150k
    auto it = input.begin();
1156
849k
    for (; it != input.end(); ++it) {
1157
833k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
133k
            break;
1159
133k
        }
1160
833k
    }
1161
150k
    return it;
1162
150k
}
_ZN3scn2v34impl29get_start_for_next_code_pointINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
1154
103k
{
1155
103k
    auto it = input.begin();
1156
605k
    for (; it != input.end(); ++it) {
1157
591k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
89.4k
            break;
1159
89.4k
        }
1160
591k
    }
1161
103k
    return it;
1162
103k
}
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
_ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Line
Count
Source
1154
1.82k
{
1155
1.82k
    auto it = input.begin();
1156
2.90k
    for (; it != input.end(); ++it) {
1157
2.77k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
1.69k
            break;
1159
1.69k
        }
1160
2.77k
    }
1161
1.82k
    return it;
1162
1.82k
}
_ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
1154
44.5k
{
1155
44.5k
    auto it = input.begin();
1156
240k
    for (; it != input.end(); ++it) {
1157
237k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
41.5k
            break;
1159
41.5k
        }
1160
237k
    }
1161
44.5k
    return it;
1162
44.5k
}
_ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1154
954
{
1155
954
    auto it = input.begin();
1156
1.65k
    for (; it != input.end(); ++it) {
1157
1.60k
        if (detail::code_point_length_by_starting_code_unit(*it) != 0) {
1158
906
            break;
1159
906
        }
1160
1.60k
    }
1161
954
    return it;
1162
954
}
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESR_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESN_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
Unexecuted instantiation: _ZN3scn2v34impl29get_start_for_next_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESO_
1163
1164
template <typename CharT>
1165
constexpr auto get_next_code_point(std::basic_string_view<CharT> input)
1166
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1167
                             char32_t>
1168
362M
{
1169
362M
    SCN_EXPECT(!input.empty());
1170
1171
362M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
362M
    if (SCN_UNLIKELY(len == 0)) {
1173
103k
        return {get_start_for_next_code_point(input),
1174
103k
                detail::invalid_code_point};
1175
103k
    }
1176
362M
    if (SCN_UNLIKELY(len > input.size())) {
1177
41.3k
        return {input.end(), detail::invalid_code_point};
1178
41.3k
    }
1179
1180
362M
    return {input.begin() + len,
1181
362M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
362M
}
scn::v3::impl::iterator_value_result<std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, char32_t> scn::v3::impl::get_next_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1168
4.37M
{
1169
4.37M
    SCN_EXPECT(!input.empty());
1170
1171
4.37M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
4.37M
    if (SCN_UNLIKELY(len == 0)) {
1173
103k
        return {get_start_for_next_code_point(input),
1174
103k
                detail::invalid_code_point};
1175
103k
    }
1176
4.27M
    if (SCN_UNLIKELY(len > input.size())) {
1177
41.3k
        return {input.end(), detail::invalid_code_point};
1178
41.3k
    }
1179
1180
4.23M
    return {input.begin() + len,
1181
4.23M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
4.27M
}
scn::v3::impl::iterator_value_result<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, char32_t> scn::v3::impl::get_next_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1168
358M
{
1169
358M
    SCN_EXPECT(!input.empty());
1170
1171
358M
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1172
358M
    if (SCN_UNLIKELY(len == 0)) {
1173
0
        return {get_start_for_next_code_point(input),
1174
0
                detail::invalid_code_point};
1175
0
    }
1176
358M
    if (SCN_UNLIKELY(len > input.size())) {
1177
0
        return {input.end(), detail::invalid_code_point};
1178
0
    }
1179
1180
358M
    return {input.begin() + len,
1181
358M
            detail::decode_code_point_exhaustive(input.substr(0, len))};
1182
358M
}
1183
1184
template <typename CharT>
1185
constexpr auto get_next_code_point_valid(std::basic_string_view<CharT> input)
1186
    -> iterator_value_result<typename std::basic_string_view<CharT>::iterator,
1187
                             char32_t>
1188
123k
{
1189
123k
    SCN_EXPECT(!input.empty());
1190
1191
123k
    const auto len = detail::code_point_length_by_starting_code_unit(input[0]);
1192
123k
    SCN_EXPECT(len <= input.size());
1193
1194
123k
    return {input.begin() + len,
1195
123k
            detail::decode_code_point_exhaustive_valid(input.substr(0, len))};
1196
123k
}
1197
1198
constexpr bool is_cp_space(char32_t cp) noexcept
1199
596M
{
1200
    // Pattern_White_Space property
1201
596M
    return (cp >= 0x09 && cp <= 0x0d) ||
1202
596M
           cp == 0x20 ||    // ASCII space characters
1203
596M
           cp == 0x85 ||    // NEXT LINE (NEL)
1204
596M
           cp == 0x200e ||  // LEFT-TO-RIGHT MARK
1205
596M
           cp == 0x200f ||  // RIGHT-TO-LEFT MARK
1206
596M
           cp == 0x2028 ||  // LINE SEPARATOR
1207
596M
           cp == 0x2029;    // PARAGRAPH SEPARATOR
1208
596M
}
1209
1210
template <typename CharT>
1211
struct is_first_char_space_result {
1212
    ranges::iterator_t<std::basic_string_view<CharT>> iterator;
1213
    char32_t cp;
1214
    bool is_space;
1215
};
1216
1217
template <typename CharT>
1218
inline constexpr auto is_first_char_space(std::basic_string_view<CharT> str)
1219
    -> is_first_char_space_result<CharT>
1220
358M
{
1221
    // TODO: optimize
1222
358M
    SCN_EXPECT(!str.empty());
1223
358M
    auto res = get_next_code_point(str);
1224
358M
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
358M
}
scn::v3::impl::is_first_char_space_result<char> scn::v3::impl::is_first_char_space<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
1220
37.9k
{
1221
    // TODO: optimize
1222
37.9k
    SCN_EXPECT(!str.empty());
1223
37.9k
    auto res = get_next_code_point(str);
1224
37.9k
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
37.9k
}
scn::v3::impl::is_first_char_space_result<wchar_t> scn::v3::impl::is_first_char_space<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
1220
358M
{
1221
    // TODO: optimize
1222
358M
    SCN_EXPECT(!str.empty());
1223
358M
    auto res = get_next_code_point(str);
1224
358M
    return {res.iterator, res.value, is_cp_space(res.value)};
1225
358M
}
1226
1227
inline constexpr scan_expected<wchar_t> encode_code_point_as_wide_character(
1228
    char32_t cp,
1229
    bool error_on_overflow)
1230
0
{
1231
0
    SCN_EXPECT(cp < detail::invalid_code_point);
1232
0
    if constexpr (sizeof(wchar_t) == sizeof(char32_t)) {
1233
0
        SCN_UNUSED(error_on_overflow);
1234
0
        return static_cast<wchar_t>(cp);
1235
0
    }
1236
0
    else {
1237
0
        if (cp < 0x10000) {
1238
0
            return static_cast<wchar_t>(cp);
1239
0
        }
1240
0
        if (error_on_overflow) {
1241
0
            return unexpected_scan_error(scan_error::value_out_of_range,
1242
0
                                         "Non-BOM code point can't be "
1243
0
                                         "narrowed to a single 2-byte "
1244
0
                                         "wchar_t code unit");
1245
0
        }
1246
        // Return the lead surrogate
1247
0
        return static_cast<wchar_t>(
1248
0
            (static_cast<uint32_t>(cp) - 0x10000) / 0x400 + 0xd800);
1249
0
    }
1250
0
}
1251
1252
template <typename SourceCharT, typename DestCharT>
1253
void transcode_to_string_impl_to32(std::basic_string_view<SourceCharT> src,
1254
                                   std::basic_string<DestCharT>& dest)
1255
11.4k
{
1256
11.4k
    static_assert(sizeof(DestCharT) == 4);
1257
1258
11.4k
    auto it = src.begin();
1259
2.45M
    while (it != src.end()) {
1260
2.44M
        auto res = get_next_code_point(
1261
2.44M
            detail::make_string_view_from_iterators<SourceCharT>(it,
1262
2.44M
                                                                 src.end()));
1263
2.44M
        if (SCN_UNLIKELY(res.value == detail::invalid_code_point)) {
1264
37.3k
            dest.push_back(DestCharT{0xfffd});
1265
37.3k
        }
1266
2.41M
        else {
1267
2.41M
            dest.push_back(res.value);
1268
2.41M
        }
1269
2.44M
        it = detail::make_string_view_iterator(src, res.iterator);
1270
2.44M
    }
1271
11.4k
}
1272
template <typename SourceCharT, typename DestCharT>
1273
void transcode_valid_to_string_impl_to32(
1274
    std::basic_string_view<SourceCharT> src,
1275
    std::basic_string<DestCharT>& dest)
1276
1.98k
{
1277
1.98k
    static_assert(sizeof(DestCharT) == 4);
1278
1279
1.98k
    auto it = src.begin();
1280
125k
    while (it != src.end()) {
1281
123k
        auto res = get_next_code_point_valid(
1282
123k
            detail::make_string_view_from_iterators<SourceCharT>(it,
1283
123k
                                                                 src.end()));
1284
123k
        SCN_EXPECT(res.value < detail::invalid_code_point);
1285
123k
        dest.push_back(res.value);
1286
123k
        it = detail::make_string_view_iterator(src, res.iterator);
1287
123k
    }
1288
1.98k
}
1289
1290
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1291
void transcode_to_string_impl_32to8(std::basic_string_view<SourceCharT> src,
1292
                                    std::basic_string<DestCharT>& dest)
1293
10.8k
{
1294
10.8k
    static_assert(sizeof(SourceCharT) == 4);
1295
10.8k
    static_assert(sizeof(DestCharT) == 1);
1296
1297
38.5k
    for (auto cp : src) {
1298
38.5k
        const auto u32cp = static_cast<uint32_t>(cp);
1299
38.5k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1300
            // Replacement character
1301
194
            dest.push_back(static_cast<char>(0xef));
1302
194
            dest.push_back(static_cast<char>(0xbf));
1303
194
            dest.push_back(static_cast<char>(0xbd));
1304
194
        }
1305
38.3k
        else if (cp < 128) {
1306
32.7k
            dest.push_back(static_cast<char>(cp));
1307
32.7k
        }
1308
5.60k
        else if (cp < 2048) {
1309
466
            dest.push_back(
1310
466
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1311
466
            dest.push_back(
1312
466
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1313
466
        }
1314
5.14k
        else if (cp < 65536) {
1315
4.43k
            dest.push_back(
1316
4.43k
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1317
4.43k
            dest.push_back(static_cast<char>(
1318
4.43k
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1319
4.43k
            dest.push_back(
1320
4.43k
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1321
4.43k
        }
1322
711
        else {
1323
711
            dest.push_back(
1324
711
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1325
711
            dest.push_back(static_cast<char>(
1326
711
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1327
711
            dest.push_back(static_cast<char>(
1328
711
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1329
711
            dest.push_back(
1330
711
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1331
711
        }
1332
38.5k
    }
1333
10.8k
}
void scn::v3::impl::transcode_to_string_impl_32to8<true, wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1293
10.5k
{
1294
10.5k
    static_assert(sizeof(SourceCharT) == 4);
1295
10.5k
    static_assert(sizeof(DestCharT) == 1);
1296
1297
26.3k
    for (auto cp : src) {
1298
26.3k
        const auto u32cp = static_cast<uint32_t>(cp);
1299
26.3k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1300
            // Replacement character
1301
0
            dest.push_back(static_cast<char>(0xef));
1302
0
            dest.push_back(static_cast<char>(0xbf));
1303
0
            dest.push_back(static_cast<char>(0xbd));
1304
0
        }
1305
26.3k
        else if (cp < 128) {
1306
25.1k
            dest.push_back(static_cast<char>(cp));
1307
25.1k
        }
1308
1.17k
        else if (cp < 2048) {
1309
146
            dest.push_back(
1310
146
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1311
146
            dest.push_back(
1312
146
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1313
146
        }
1314
1.02k
        else if (cp < 65536) {
1315
586
            dest.push_back(
1316
586
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1317
586
            dest.push_back(static_cast<char>(
1318
586
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1319
586
            dest.push_back(
1320
586
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1321
586
        }
1322
442
        else {
1323
442
            dest.push_back(
1324
442
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1325
442
            dest.push_back(static_cast<char>(
1326
442
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1327
442
            dest.push_back(static_cast<char>(
1328
442
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1329
442
            dest.push_back(
1330
442
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1331
442
        }
1332
26.3k
    }
1333
10.5k
}
void scn::v3::impl::transcode_to_string_impl_32to8<false, wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1293
313
{
1294
313
    static_assert(sizeof(SourceCharT) == 4);
1295
313
    static_assert(sizeof(DestCharT) == 1);
1296
1297
12.1k
    for (auto cp : src) {
1298
12.1k
        const auto u32cp = static_cast<uint32_t>(cp);
1299
12.1k
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1300
            // Replacement character
1301
194
            dest.push_back(static_cast<char>(0xef));
1302
194
            dest.push_back(static_cast<char>(0xbf));
1303
194
            dest.push_back(static_cast<char>(0xbd));
1304
194
        }
1305
11.9k
        else if (cp < 128) {
1306
7.53k
            dest.push_back(static_cast<char>(cp));
1307
7.53k
        }
1308
4.43k
        else if (cp < 2048) {
1309
320
            dest.push_back(
1310
320
                static_cast<char>(0xc0 | (static_cast<char>(u32cp >> 6))));
1311
320
            dest.push_back(
1312
320
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1313
320
        }
1314
4.11k
        else if (cp < 65536) {
1315
3.84k
            dest.push_back(
1316
3.84k
                static_cast<char>(0xe0 | (static_cast<char>(u32cp >> 12))));
1317
3.84k
            dest.push_back(static_cast<char>(
1318
3.84k
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1319
3.84k
            dest.push_back(
1320
3.84k
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1321
3.84k
        }
1322
269
        else {
1323
269
            dest.push_back(
1324
269
                static_cast<char>(0xf0 | (static_cast<char>(u32cp >> 18))));
1325
269
            dest.push_back(static_cast<char>(
1326
269
                0x80 | (static_cast<char>(u32cp >> 12) & 0x3f)));
1327
269
            dest.push_back(static_cast<char>(
1328
269
                0x80 | (static_cast<char>(u32cp >> 6) & 0x3f)));
1329
269
            dest.push_back(
1330
269
                static_cast<char>(0x80 | (static_cast<char>(u32cp) & 0x3f)));
1331
269
        }
1332
12.1k
    }
1333
313
}
1334
1335
template <bool VerifiedValid, typename SourceCharT, typename DestCharT>
1336
void transcode_to_string_impl_32to16(std::basic_string_view<SourceCharT> src,
1337
                                     std::basic_string<DestCharT>& dest)
1338
{
1339
    static_assert(sizeof(SourceCharT) == 4);
1340
    static_assert(sizeof(DestCharT) == 2);
1341
1342
    for (auto cp : src) {
1343
        const auto u32cp = static_cast<uint32_t>(cp);
1344
        if (SCN_UNLIKELY(!VerifiedValid && cp >= detail::invalid_code_point)) {
1345
            dest.push_back(char16_t{0xfffd});
1346
        }
1347
        else if (cp < 0x10000) {
1348
            dest.push_back(static_cast<char16_t>(cp));
1349
        }
1350
        else {
1351
            dest.push_back(
1352
                static_cast<char16_t>((u32cp - 0x10000) / 0x400 + 0xd800));
1353
            dest.push_back(
1354
                static_cast<char16_t>((u32cp - 0x10000) % 0x400 + 0xd800));
1355
        }
1356
    }
1357
}
1358
1359
template <typename SourceCharT, typename DestCharT>
1360
void transcode_to_string(std::basic_string_view<SourceCharT> src,
1361
                         std::basic_string<DestCharT>& dest)
1362
11.7k
{
1363
11.7k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1364
1365
11.7k
    if constexpr (sizeof(SourceCharT) == 1) {
1366
11.4k
        if constexpr (sizeof(DestCharT) == 2) {
1367
11.4k
            std::u32string tmp;
1368
11.4k
            transcode_to_string_impl_to32(src, tmp);
1369
11.4k
            return transcode_to_string_impl_32to16<false>(
1370
11.4k
                std::u32string_view{tmp}, dest);
1371
11.4k
        }
1372
11.4k
        else if constexpr (sizeof(DestCharT) == 4) {
1373
11.4k
            return transcode_to_string_impl_to32(src, dest);
1374
11.4k
        }
1375
11.4k
    }
1376
313
    else if constexpr (sizeof(SourceCharT) == 2) {
1377
313
        if constexpr (sizeof(DestCharT) == 1) {
1378
313
            std::u32string tmp;
1379
313
            transcode_to_string_impl_to32(src, tmp);
1380
313
            return transcode_to_string_impl_32to8<false>(
1381
313
                std::u32string_view{tmp}, dest);
1382
313
        }
1383
313
        else if constexpr (sizeof(DestCharT) == 4) {
1384
313
            return trasncode_to_string_impl_to32(src, dest);
1385
313
        }
1386
313
    }
1387
313
    else if constexpr (sizeof(SourceCharT) == 4) {
1388
313
        if constexpr (sizeof(DestCharT) == 1) {
1389
313
            return transcode_to_string_impl_32to8<false>(src, dest);
1390
313
        }
1391
313
        else if constexpr (sizeof(DestCharT) == 2) {
1392
313
            return transcode_to_string_impl_32to16<false>(src, dest);
1393
313
        }
1394
313
    }
1395
1396
0
    SCN_EXPECT(false);
1397
0
    SCN_UNREACHABLE;
1398
0
}
void scn::v3::impl::transcode_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1362
11.4k
{
1363
11.4k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1364
1365
11.4k
    if constexpr (sizeof(SourceCharT) == 1) {
1366
11.4k
        if constexpr (sizeof(DestCharT) == 2) {
1367
11.4k
            std::u32string tmp;
1368
11.4k
            transcode_to_string_impl_to32(src, tmp);
1369
11.4k
            return transcode_to_string_impl_32to16<false>(
1370
11.4k
                std::u32string_view{tmp}, dest);
1371
11.4k
        }
1372
11.4k
        else if constexpr (sizeof(DestCharT) == 4) {
1373
11.4k
            return transcode_to_string_impl_to32(src, dest);
1374
11.4k
        }
1375
11.4k
    }
1376
0
    else if constexpr (sizeof(SourceCharT) == 2) {
1377
0
        if constexpr (sizeof(DestCharT) == 1) {
1378
0
            std::u32string tmp;
1379
0
            transcode_to_string_impl_to32(src, tmp);
1380
0
            return transcode_to_string_impl_32to8<false>(
1381
0
                std::u32string_view{tmp}, dest);
1382
0
        }
1383
0
        else if constexpr (sizeof(DestCharT) == 4) {
1384
0
            return trasncode_to_string_impl_to32(src, dest);
1385
0
        }
1386
0
    }
1387
0
    else if constexpr (sizeof(SourceCharT) == 4) {
1388
0
        if constexpr (sizeof(DestCharT) == 1) {
1389
0
            return transcode_to_string_impl_32to8<false>(src, dest);
1390
0
        }
1391
0
        else if constexpr (sizeof(DestCharT) == 2) {
1392
0
            return transcode_to_string_impl_32to16<false>(src, dest);
1393
0
        }
1394
0
    }
1395
1396
0
    SCN_EXPECT(false);
1397
0
    SCN_UNREACHABLE;
1398
0
}
void scn::v3::impl::transcode_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1362
313
{
1363
313
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1364
1365
313
    if constexpr (sizeof(SourceCharT) == 1) {
1366
313
        if constexpr (sizeof(DestCharT) == 2) {
1367
313
            std::u32string tmp;
1368
313
            transcode_to_string_impl_to32(src, tmp);
1369
313
            return transcode_to_string_impl_32to16<false>(
1370
313
                std::u32string_view{tmp}, dest);
1371
313
        }
1372
313
        else if constexpr (sizeof(DestCharT) == 4) {
1373
313
            return transcode_to_string_impl_to32(src, dest);
1374
313
        }
1375
313
    }
1376
313
    else if constexpr (sizeof(SourceCharT) == 2) {
1377
313
        if constexpr (sizeof(DestCharT) == 1) {
1378
313
            std::u32string tmp;
1379
313
            transcode_to_string_impl_to32(src, tmp);
1380
313
            return transcode_to_string_impl_32to8<false>(
1381
313
                std::u32string_view{tmp}, dest);
1382
313
        }
1383
313
        else if constexpr (sizeof(DestCharT) == 4) {
1384
313
            return trasncode_to_string_impl_to32(src, dest);
1385
313
        }
1386
313
    }
1387
313
    else if constexpr (sizeof(SourceCharT) == 4) {
1388
313
        if constexpr (sizeof(DestCharT) == 1) {
1389
313
            return transcode_to_string_impl_32to8<false>(src, dest);
1390
313
        }
1391
313
        else if constexpr (sizeof(DestCharT) == 2) {
1392
313
            return transcode_to_string_impl_32to16<false>(src, dest);
1393
313
        }
1394
313
    }
1395
1396
0
    SCN_EXPECT(false);
1397
0
    SCN_UNREACHABLE;
1398
0
}
1399
template <typename SourceCharT, typename DestCharT>
1400
void transcode_valid_to_string(std::basic_string_view<SourceCharT> src,
1401
                               std::basic_string<DestCharT>& dest)
1402
12.5k
{
1403
12.5k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
12.5k
    SCN_EXPECT(validate_unicode(src));
1406
12.5k
    if constexpr (sizeof(SourceCharT) == 1) {
1407
10.5k
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
1.98k
            std::u32string tmp;
1410
1.98k
            transcode_valid_to_string_impl_to32(src, tmp);
1411
1.98k
            return transcode_to_string_impl_32to16<true>(
1412
1.98k
                std::u32string_view{tmp}, dest);
1413
1.98k
        }
1414
1.98k
        else if constexpr (sizeof(DestCharT) == 4) {
1415
1.98k
            return transcode_valid_to_string_impl_to32(src, dest);
1416
1.98k
        }
1417
1.98k
    }
1418
10.5k
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
10.5k
        if constexpr (sizeof(DestCharT) == 1) {
1420
10.5k
            std::u32string tmp;
1421
10.5k
            transcode_valid_to_string_impl_to32(src, tmp);
1422
10.5k
            return transcode_to_string_impl_32to8<true>(
1423
10.5k
                std::u32string_view{tmp}, dest);
1424
10.5k
        }
1425
10.5k
        else if constexpr (sizeof(DestCharT) == 4) {
1426
10.5k
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
10.5k
        }
1428
10.5k
    }
1429
10.5k
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
10.5k
        if constexpr (sizeof(DestCharT) == 1) {
1431
10.5k
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
10.5k
        }
1433
10.5k
        else if constexpr (sizeof(DestCharT) == 2) {
1434
10.5k
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
10.5k
        }
1436
10.5k
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
void scn::v3::impl::transcode_valid_to_string<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
1402
1.98k
{
1403
1.98k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
1.98k
    SCN_EXPECT(validate_unicode(src));
1406
1.98k
    if constexpr (sizeof(SourceCharT) == 1) {
1407
1.98k
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
1.98k
            std::u32string tmp;
1410
1.98k
            transcode_valid_to_string_impl_to32(src, tmp);
1411
1.98k
            return transcode_to_string_impl_32to16<true>(
1412
1.98k
                std::u32string_view{tmp}, dest);
1413
1.98k
        }
1414
1.98k
        else if constexpr (sizeof(DestCharT) == 4) {
1415
1.98k
            return transcode_valid_to_string_impl_to32(src, dest);
1416
1.98k
        }
1417
1.98k
    }
1418
0
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
0
        if constexpr (sizeof(DestCharT) == 1) {
1420
0
            std::u32string tmp;
1421
0
            transcode_valid_to_string_impl_to32(src, tmp);
1422
0
            return transcode_to_string_impl_32to8<true>(
1423
0
                std::u32string_view{tmp}, dest);
1424
0
        }
1425
0
        else if constexpr (sizeof(DestCharT) == 4) {
1426
0
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
0
        }
1428
0
    }
1429
0
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
0
        if constexpr (sizeof(DestCharT) == 1) {
1431
0
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
0
        }
1433
0
        else if constexpr (sizeof(DestCharT) == 2) {
1434
0
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
0
        }
1436
0
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
void scn::v3::impl::transcode_valid_to_string<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
1402
10.5k
{
1403
10.5k
    static_assert(sizeof(SourceCharT) != sizeof(DestCharT));
1404
1405
10.5k
    SCN_EXPECT(validate_unicode(src));
1406
10.5k
    if constexpr (sizeof(SourceCharT) == 1) {
1407
10.5k
        if constexpr (sizeof(DestCharT) == 2) {
1408
            // TODO: Optimize, remove utf32-step, go direct utf8->utf16
1409
10.5k
            std::u32string tmp;
1410
10.5k
            transcode_valid_to_string_impl_to32(src, tmp);
1411
10.5k
            return transcode_to_string_impl_32to16<true>(
1412
10.5k
                std::u32string_view{tmp}, dest);
1413
10.5k
        }
1414
10.5k
        else if constexpr (sizeof(DestCharT) == 4) {
1415
10.5k
            return transcode_valid_to_string_impl_to32(src, dest);
1416
10.5k
        }
1417
10.5k
    }
1418
10.5k
    else if constexpr (sizeof(SourceCharT) == 2) {
1419
10.5k
        if constexpr (sizeof(DestCharT) == 1) {
1420
10.5k
            std::u32string tmp;
1421
10.5k
            transcode_valid_to_string_impl_to32(src, tmp);
1422
10.5k
            return transcode_to_string_impl_32to8<true>(
1423
10.5k
                std::u32string_view{tmp}, dest);
1424
10.5k
        }
1425
10.5k
        else if constexpr (sizeof(DestCharT) == 4) {
1426
10.5k
            return trasncode_valid_to_string_impl_to32(src, dest);
1427
10.5k
        }
1428
10.5k
    }
1429
10.5k
    else if constexpr (sizeof(SourceCharT) == 4) {
1430
10.5k
        if constexpr (sizeof(DestCharT) == 1) {
1431
10.5k
            return transcode_to_string_impl_32to8<true>(src, dest);
1432
10.5k
        }
1433
10.5k
        else if constexpr (sizeof(DestCharT) == 2) {
1434
10.5k
            return transcode_to_string_impl_32to16<true>(src, dest);
1435
10.5k
        }
1436
10.5k
    }
1437
1438
0
    SCN_EXPECT(false);
1439
0
    SCN_UNREACHABLE;
1440
0
}
1441
1442
template <typename CharT>
1443
constexpr void for_each_code_point(std::basic_string_view<CharT> input,
1444
                                   function_ref<void(char32_t)> cb)
1445
24.7k
{
1446
    // TODO: Could be optimized by being eager
1447
24.7k
    auto it = input.begin();
1448
66.4k
    while (it != input.end()) {
1449
41.6k
        auto res = get_next_code_point(
1450
41.6k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
41.6k
        cb(res.value);
1452
41.6k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
41.6k
    }
1454
24.7k
}
void scn::v3::impl::for_each_code_point<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1445
21.4k
{
1446
    // TODO: Could be optimized by being eager
1447
21.4k
    auto it = input.begin();
1448
57.7k
    while (it != input.end()) {
1449
36.3k
        auto res = get_next_code_point(
1450
36.3k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
36.3k
        cb(res.value);
1452
36.3k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
36.3k
    }
1454
21.4k
}
void scn::v3::impl::for_each_code_point<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::impl::function_ref<void (char32_t), void (char32_t)>)
Line
Count
Source
1445
3.34k
{
1446
    // TODO: Could be optimized by being eager
1447
3.34k
    auto it = input.begin();
1448
8.63k
    while (it != input.end()) {
1449
5.29k
        auto res = get_next_code_point(
1450
5.29k
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1451
5.29k
        cb(res.value);
1452
5.29k
        it = detail::make_string_view_iterator(input, res.iterator);
1453
5.29k
    }
1454
3.34k
}
1455
1456
template <typename CharT>
1457
constexpr void for_each_code_point_valid(std::basic_string_view<CharT> input,
1458
                                         function_ref<void(char32_t)> cb)
1459
{
1460
    auto it = input.begin();
1461
    while (it != input.end()) {
1462
        auto res = get_next_code_point_valid(
1463
            detail::make_string_view_from_iterators<CharT>(it, input.end()));
1464
        cb(res.value);
1465
        it = detail::make_string_view_iterator(input, res.iterator);
1466
    }
1467
}
1468
1469
/////////////////////////////////////////////////////////////////
1470
// contiguous_range_factory
1471
/////////////////////////////////////////////////////////////////
1472
1473
template <typename View>
1474
class take_width_view;
1475
1476
template <typename CharT>
1477
struct string_view_wrapper {
1478
    using char_type = CharT;
1479
    using string_type = std::basic_string<CharT>;
1480
    using string_view_type = std::basic_string_view<CharT>;
1481
1482
    constexpr string_view_wrapper() = default;
1483
1484
    template <typename Range,
1485
              std::enable_if_t<ranges::borrowed_range<Range> &&
1486
                               ranges::contiguous_range<Range> &&
1487
                               ranges::sized_range<Range>>* = nullptr>
1488
    constexpr string_view_wrapper(Range&& r) : sv(ranges::data(r), r.size())
1489
15.0M
    {
1490
15.0M
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1489
2.19M
    {
1490
2.19M
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1489
4.32M
    {
1490
4.32M
    }
scn::v3::impl::string_view_wrapper<wchar_t>::string_view_wrapper<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1489
7.57M
    {
1490
7.57M
    }
scn::v3::impl::string_view_wrapper<char>::string_view_wrapper<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, (void*)0>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1489
952k
    {
1490
952k
    }
1491
1492
    template <typename Range,
1493
              std::enable_if_t<ranges::borrowed_range<Range> &&
1494
                               ranges::contiguous_range<Range> &&
1495
                               ranges::sized_range<Range>>* = nullptr>
1496
    void assign(Range&& r)
1497
    {
1498
        sv = string_view_type{ranges::data(r), r.size()};
1499
    }
1500
1501
    constexpr auto view() const
1502
25.7M
    {
1503
25.7M
        return sv;
1504
25.7M
    }
scn::v3::impl::string_view_wrapper<char>::view() const
Line
Count
Source
1502
14.5M
    {
1503
14.5M
        return sv;
1504
14.5M
    }
scn::v3::impl::string_view_wrapper<wchar_t>::view() const
Line
Count
Source
1502
11.1M
    {
1503
11.1M
        return sv;
1504
11.1M
    }
1505
1506
    constexpr bool stores_allocated_string() const
1507
0
    {
1508
0
        return false;
1509
0
    }
Unexecuted instantiation: scn::v3::impl::string_view_wrapper<char>::stores_allocated_string() const
Unexecuted instantiation: scn::v3::impl::string_view_wrapper<wchar_t>::stores_allocated_string() const
1510
1511
    [[noreturn]] string_type get_allocated_string() const
1512
    {
1513
        SCN_EXPECT(false);
1514
        SCN_UNREACHABLE;
1515
    }
1516
1517
    string_view_type sv;
1518
};
1519
1520
template <typename Range>
1521
string_view_wrapper(Range)
1522
    -> string_view_wrapper<detail::char_t<detail::remove_cvref_t<Range>>>;
1523
1524
template <typename CharT>
1525
class contiguous_range_factory {
1526
public:
1527
    using char_type = CharT;
1528
    using string_type = std::basic_string<CharT>;
1529
    using string_view_type = std::basic_string_view<CharT>;
1530
1531
5.76M
    contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory()
Line
Count
Source
1531
4.44M
    contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory()
Line
Count
Source
1531
1.32M
    contiguous_range_factory() = default;
1532
1533
    template <typename Range,
1534
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1535
    contiguous_range_factory(Range&& range)
1536
5.48M
    {
1537
5.48M
        emplace_range(SCN_FWD(range));
1538
5.48M
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1536
1.87M
    {
1537
1.87M
        emplace_range(SCN_FWD(range));
1538
1.87M
    }
scn::v3::impl::contiguous_range_factory<char>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1536
1.52k
    {
1537
1.52k
        emplace_range(SCN_FWD(range));
1538
1.52k
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1536
3.60M
    {
1537
3.60M
        emplace_range(SCN_FWD(range));
1538
3.60M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::contiguous_range_factory<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1536
278
    {
1537
278
        emplace_range(SCN_FWD(range));
1538
278
    }
1539
1540
    contiguous_range_factory(string_view_wrapper<CharT> svw)
1541
        : m_storage(std::nullopt), m_view(svw.view())
1542
    {
1543
    }
1544
1545
    contiguous_range_factory(const contiguous_range_factory&) = delete;
1546
    contiguous_range_factory& operator=(const contiguous_range_factory&) =
1547
        delete;
1548
1549
    contiguous_range_factory(contiguous_range_factory&& other)
1550
        : m_storage(SCN_MOVE(other.m_storage))
1551
    {
1552
        if (m_storage) {
1553
            m_view = *m_storage;
1554
        }
1555
        else {
1556
            m_view = other.m_view;
1557
        }
1558
    }
1559
    contiguous_range_factory& operator=(contiguous_range_factory&& other)
1560
    {
1561
        m_storage = SCN_MOVE(other.m_storage);
1562
        if (m_storage) {
1563
            m_view = *m_storage;
1564
        }
1565
        else {
1566
            m_view = other.m_view;
1567
        }
1568
        return *this;
1569
    }
1570
1571
11.2M
    ~contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<char>::~contiguous_range_factory()
Line
Count
Source
1571
6.31M
    ~contiguous_range_factory() = default;
scn::v3::impl::contiguous_range_factory<wchar_t>::~contiguous_range_factory()
Line
Count
Source
1571
4.92M
    ~contiguous_range_factory() = default;
1572
1573
    template <typename Range,
1574
              std::enable_if_t<ranges::forward_range<Range>>* = nullptr>
1575
    void assign(Range&& range)
1576
3.55M
    {
1577
3.55M
        emplace_range(SCN_FWD(range));
1578
3.55M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1576
1.05M
    {
1577
1.05M
        emplace_range(SCN_FWD(range));
1578
1.05M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
void scn::v3::impl::contiguous_range_factory<char>::assign<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1576
955k
    {
1577
955k
        emplace_range(SCN_FWD(range));
1578
955k
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1576
171k
    {
1577
171k
        emplace_range(SCN_FWD(range));
1578
171k
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1576
264k
    {
1577
264k
        emplace_range(SCN_FWD(range));
1578
264k
    }
void scn::v3::impl::contiguous_range_factory<char>::assign<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, (void*)0>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Line
Count
Source
1576
947k
    {
1577
947k
        emplace_range(SCN_FWD(range));
1578
947k
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::assign<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, (void*)0>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
Line
Count
Source
1576
159k
    {
1577
159k
        emplace_range(SCN_FWD(range));
1578
159k
    }
1579
1580
    string_view_type view() const
1581
19.8M
    {
1582
19.8M
        return m_view;
1583
19.8M
    }
scn::v3::impl::contiguous_range_factory<char>::view() const
Line
Count
Source
1581
11.0M
    {
1582
11.0M
        return m_view;
1583
11.0M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::view() const
Line
Count
Source
1581
8.81M
    {
1582
8.81M
        return m_view;
1583
8.81M
    }
1584
1585
    constexpr bool stores_allocated_string() const
1586
6.70M
    {
1587
6.70M
        return m_storage.has_value();
1588
6.70M
    }
scn::v3::impl::contiguous_range_factory<char>::stores_allocated_string() const
Line
Count
Source
1586
2.72M
    {
1587
2.72M
        return m_storage.has_value();
1588
2.72M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::stores_allocated_string() const
Line
Count
Source
1586
3.97M
    {
1587
3.97M
        return m_storage.has_value();
1588
3.97M
    }
1589
1590
    string_type& get_allocated_string() &
1591
1.65M
    {
1592
1.65M
        SCN_EXPECT(stores_allocated_string());
1593
1.65M
        return *m_storage;
1594
1.65M
    }
scn::v3::impl::contiguous_range_factory<char>::get_allocated_string() &
Line
Count
Source
1591
1.42M
    {
1592
1.42M
        SCN_EXPECT(stores_allocated_string());
1593
1.42M
        return *m_storage;
1594
1.42M
    }
scn::v3::impl::contiguous_range_factory<wchar_t>::get_allocated_string() &
Line
Count
Source
1591
231k
    {
1592
231k
        SCN_EXPECT(stores_allocated_string());
1593
231k
        return *m_storage;
1594
231k
    }
1595
    const string_type& get_allocated_string() const&
1596
    {
1597
        SCN_EXPECT(stores_allocated_string());
1598
        return *m_storage;
1599
    }
1600
    string_type&& get_allocated_string() &&
1601
    {
1602
        SCN_EXPECT(stores_allocated_string());
1603
        return *m_storage;
1604
    }
1605
1606
    string_type& make_into_allocated_string()
1607
0
    {
1608
0
        if (stores_allocated_string()) {
1609
0
            return get_allocated_string();
1610
0
        }
1611
1612
0
        auto& str = m_storage.emplace(m_view.data(), m_view.size());
1613
0
        m_view = string_view_type{str.data(), str.size()};
1614
0
        return str;
1615
0
    }
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<char>::make_into_allocated_string()
Unexecuted instantiation: scn::v3::impl::contiguous_range_factory<wchar_t>::make_into_allocated_string()
1616
1617
private:
1618
    template <typename Range>
1619
    void emplace_range(Range&& range)
1620
9.03M
    {
1621
9.03M
        using value_t = ranges::range_value_t<Range>;
1622
1623
9.03M
        if constexpr (ranges::borrowed_range<Range> &&
1624
9.03M
                      ranges::contiguous_range<Range> &&
1625
9.03M
                      ranges::sized_range<Range>) {
1626
7.81M
            m_storage.reset();
1627
7.81M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
7.81M
        }
1629
7.81M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
7.81M
                                          std::basic_string<CharT>>) {
1631
6.70M
            m_storage.emplace(SCN_FWD(range));
1632
1.10M
            m_view = string_view_type{*m_storage};
1633
1.10M
        }
1634
6.70M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
6.70M
                                          typename detail::basic_scan_buffer<
1636
6.70M
                                              value_t>::forward_iterator> &&
1637
6.70M
                           ranges::common_range<Range>) {
1638
1.79k
            auto beg_seg = range.begin().contiguous_segment();
1639
1.79k
            auto end_seg = range.end().contiguous_segment();
1640
6.70M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
1.28M
                             detail::to_address(end_seg.end()))) {
1642
1.28M
                auto& str = m_storage.emplace();
1643
1.28M
                str.reserve(range.end().position() - range.begin().position());
1644
1.28M
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
1.28M
                m_view = string_view_type{str};
1646
1.28M
                return;
1647
1.28M
            }
1648
1649
5.42M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
5.42M
                                                            end_seg.data());
1651
5.42M
            m_storage.reset();
1652
5.42M
        }
1653
1.79k
        else {
1654
1.79k
            auto& str = m_storage.emplace();
1655
1.79k
            if constexpr (ranges::sized_range<Range>) {
1656
1.79k
                str.reserve(range.size());
1657
1.79k
            }
1658
1.79k
            if constexpr (ranges::common_range<Range>) {
1659
1.79k
                std::copy(ranges::begin(range), ranges::end(range),
1660
1.79k
                          std::back_inserter(str));
1661
1.79k
            }
1662
1.79k
            else {
1663
1.79k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
1.79k
                     ++it) {
1665
1.79k
                    str.push_back(*it);
1666
1.79k
                }
1667
1.79k
            }
1668
1.79k
            m_view = string_view_type{str};
1669
1.79k
        }
1670
9.03M
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1620
2.93M
    {
1621
2.93M
        using value_t = ranges::range_value_t<Range>;
1622
1623
2.93M
        if constexpr (ranges::borrowed_range<Range> &&
1624
2.93M
                      ranges::contiguous_range<Range> &&
1625
2.93M
                      ranges::sized_range<Range>) {
1626
2.93M
            m_storage.reset();
1627
2.93M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
2.93M
        }
1629
2.93M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
2.93M
                                          std::basic_string<CharT>>) {
1631
2.93M
            m_storage.emplace(SCN_FWD(range));
1632
2.93M
            m_view = string_view_type{*m_storage};
1633
2.93M
        }
1634
2.93M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
2.93M
                                          typename detail::basic_scan_buffer<
1636
2.93M
                                              value_t>::forward_iterator> &&
1637
2.93M
                           ranges::common_range<Range>) {
1638
2.93M
            auto beg_seg = range.begin().contiguous_segment();
1639
2.93M
            auto end_seg = range.end().contiguous_segment();
1640
2.93M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
2.93M
                             detail::to_address(end_seg.end()))) {
1642
1.26M
                auto& str = m_storage.emplace();
1643
1.26M
                str.reserve(range.end().position() - range.begin().position());
1644
1.26M
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
1.26M
                m_view = string_view_type{str};
1646
1.26M
                return;
1647
1.26M
            }
1648
1649
1.66M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
1.66M
                                                            end_seg.data());
1651
1.66M
            m_storage.reset();
1652
1.66M
        }
1653
2.93M
        else {
1654
2.93M
            auto& str = m_storage.emplace();
1655
2.93M
            if constexpr (ranges::sized_range<Range>) {
1656
2.93M
                str.reserve(range.size());
1657
2.93M
            }
1658
2.93M
            if constexpr (ranges::common_range<Range>) {
1659
2.93M
                std::copy(ranges::begin(range), ranges::end(range),
1660
2.93M
                          std::back_inserter(str));
1661
2.93M
            }
1662
2.93M
            else {
1663
2.93M
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
2.93M
                     ++it) {
1665
2.93M
                    str.push_back(*it);
1666
2.93M
                }
1667
2.93M
            }
1668
2.93M
            m_view = string_view_type{str};
1669
2.93M
        }
1670
2.93M
    }
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1620
1.52k
    {
1621
1.52k
        using value_t = ranges::range_value_t<Range>;
1622
1623
1.52k
        if constexpr (ranges::borrowed_range<Range> &&
1624
1.52k
                      ranges::contiguous_range<Range> &&
1625
1.52k
                      ranges::sized_range<Range>) {
1626
1.52k
            m_storage.reset();
1627
1.52k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
1.52k
        }
1629
1.52k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
1.52k
                                          std::basic_string<CharT>>) {
1631
1.52k
            m_storage.emplace(SCN_FWD(range));
1632
1.52k
            m_view = string_view_type{*m_storage};
1633
1.52k
        }
1634
1.52k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
1.52k
                                          typename detail::basic_scan_buffer<
1636
1.52k
                                              value_t>::forward_iterator> &&
1637
1.52k
                           ranges::common_range<Range>) {
1638
1.52k
            auto beg_seg = range.begin().contiguous_segment();
1639
1.52k
            auto end_seg = range.end().contiguous_segment();
1640
1.52k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
1.52k
                             detail::to_address(end_seg.end()))) {
1642
1.52k
                auto& str = m_storage.emplace();
1643
1.52k
                str.reserve(range.end().position() - range.begin().position());
1644
1.52k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
1.52k
                m_view = string_view_type{str};
1646
1.52k
                return;
1647
1.52k
            }
1648
1649
1.52k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
1.52k
                                                            end_seg.data());
1651
1.52k
            m_storage.reset();
1652
1.52k
        }
1653
1.52k
        else {
1654
1.52k
            auto& str = m_storage.emplace();
1655
1.52k
            if constexpr (ranges::sized_range<Range>) {
1656
1.52k
                str.reserve(range.size());
1657
1.52k
            }
1658
1.52k
            if constexpr (ranges::common_range<Range>) {
1659
1.52k
                std::copy(ranges::begin(range), ranges::end(range),
1660
1.52k
                          std::back_inserter(str));
1661
1.52k
            }
1662
1.52k
            else {
1663
1.52k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
1.52k
                     ++it) {
1665
1.52k
                    str.push_back(*it);
1666
1.52k
                }
1667
1.52k
            }
1668
1.52k
            m_view = string_view_type{str};
1669
1.52k
        }
1670
1.52k
    }
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1620
955k
    {
1621
955k
        using value_t = ranges::range_value_t<Range>;
1622
1623
955k
        if constexpr (ranges::borrowed_range<Range> &&
1624
955k
                      ranges::contiguous_range<Range> &&
1625
955k
                      ranges::sized_range<Range>) {
1626
955k
            m_storage.reset();
1627
955k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
955k
        }
1629
955k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
955k
                                          std::basic_string<CharT>>) {
1631
955k
            m_storage.emplace(SCN_FWD(range));
1632
955k
            m_view = string_view_type{*m_storage};
1633
955k
        }
1634
955k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
955k
                                          typename detail::basic_scan_buffer<
1636
955k
                                              value_t>::forward_iterator> &&
1637
955k
                           ranges::common_range<Range>) {
1638
955k
            auto beg_seg = range.begin().contiguous_segment();
1639
955k
            auto end_seg = range.end().contiguous_segment();
1640
955k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
955k
                             detail::to_address(end_seg.end()))) {
1642
955k
                auto& str = m_storage.emplace();
1643
955k
                str.reserve(range.end().position() - range.begin().position());
1644
955k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
955k
                m_view = string_view_type{str};
1646
955k
                return;
1647
955k
            }
1648
1649
955k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
955k
                                                            end_seg.data());
1651
955k
            m_storage.reset();
1652
955k
        }
1653
955k
        else {
1654
955k
            auto& str = m_storage.emplace();
1655
955k
            if constexpr (ranges::sized_range<Range>) {
1656
955k
                str.reserve(range.size());
1657
955k
            }
1658
955k
            if constexpr (ranges::common_range<Range>) {
1659
955k
                std::copy(ranges::begin(range), ranges::end(range),
1660
955k
                          std::back_inserter(str));
1661
955k
            }
1662
955k
            else {
1663
955k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
955k
                     ++it) {
1665
955k
                    str.push_back(*it);
1666
955k
                }
1667
955k
            }
1668
955k
            m_view = string_view_type{str};
1669
955k
        }
1670
955k
    }
Unexecuted instantiation: void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1620
3.77M
    {
1621
3.77M
        using value_t = ranges::range_value_t<Range>;
1622
1623
3.77M
        if constexpr (ranges::borrowed_range<Range> &&
1624
3.77M
                      ranges::contiguous_range<Range> &&
1625
3.77M
                      ranges::sized_range<Range>) {
1626
3.77M
            m_storage.reset();
1627
3.77M
            m_view = string_view_type{ranges::data(range), range.size()};
1628
3.77M
        }
1629
3.77M
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
3.77M
                                          std::basic_string<CharT>>) {
1631
3.77M
            m_storage.emplace(SCN_FWD(range));
1632
3.77M
            m_view = string_view_type{*m_storage};
1633
3.77M
        }
1634
3.77M
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
3.77M
                                          typename detail::basic_scan_buffer<
1636
3.77M
                                              value_t>::forward_iterator> &&
1637
3.77M
                           ranges::common_range<Range>) {
1638
3.77M
            auto beg_seg = range.begin().contiguous_segment();
1639
3.77M
            auto end_seg = range.end().contiguous_segment();
1640
3.77M
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
3.77M
                             detail::to_address(end_seg.end()))) {
1642
17.8k
                auto& str = m_storage.emplace();
1643
17.8k
                str.reserve(range.end().position() - range.begin().position());
1644
17.8k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
17.8k
                m_view = string_view_type{str};
1646
17.8k
                return;
1647
17.8k
            }
1648
1649
3.75M
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
3.75M
                                                            end_seg.data());
1651
3.75M
            m_storage.reset();
1652
3.75M
        }
1653
3.77M
        else {
1654
3.77M
            auto& str = m_storage.emplace();
1655
3.77M
            if constexpr (ranges::sized_range<Range>) {
1656
3.77M
                str.reserve(range.size());
1657
3.77M
            }
1658
3.77M
            if constexpr (ranges::common_range<Range>) {
1659
3.77M
                std::copy(ranges::begin(range), ranges::end(range),
1660
3.77M
                          std::back_inserter(str));
1661
3.77M
            }
1662
3.77M
            else {
1663
3.77M
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
3.77M
                     ++it) {
1665
3.77M
                    str.push_back(*it);
1666
3.77M
                }
1667
3.77M
            }
1668
3.77M
            m_view = string_view_type{str};
1669
3.77M
        }
1670
3.77M
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1620
278
    {
1621
278
        using value_t = ranges::range_value_t<Range>;
1622
1623
278
        if constexpr (ranges::borrowed_range<Range> &&
1624
278
                      ranges::contiguous_range<Range> &&
1625
278
                      ranges::sized_range<Range>) {
1626
278
            m_storage.reset();
1627
278
            m_view = string_view_type{ranges::data(range), range.size()};
1628
278
        }
1629
278
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
278
                                          std::basic_string<CharT>>) {
1631
278
            m_storage.emplace(SCN_FWD(range));
1632
278
            m_view = string_view_type{*m_storage};
1633
278
        }
1634
278
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
278
                                          typename detail::basic_scan_buffer<
1636
278
                                              value_t>::forward_iterator> &&
1637
278
                           ranges::common_range<Range>) {
1638
278
            auto beg_seg = range.begin().contiguous_segment();
1639
278
            auto end_seg = range.end().contiguous_segment();
1640
278
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
278
                             detail::to_address(end_seg.end()))) {
1642
278
                auto& str = m_storage.emplace();
1643
278
                str.reserve(range.end().position() - range.begin().position());
1644
278
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
278
                m_view = string_view_type{str};
1646
278
                return;
1647
278
            }
1648
1649
278
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
278
                                                            end_seg.data());
1651
278
            m_storage.reset();
1652
278
        }
1653
278
        else {
1654
278
            auto& str = m_storage.emplace();
1655
278
            if constexpr (ranges::sized_range<Range>) {
1656
278
                str.reserve(range.size());
1657
278
            }
1658
278
            if constexpr (ranges::common_range<Range>) {
1659
278
                std::copy(ranges::begin(range), ranges::end(range),
1660
278
                          std::back_inserter(str));
1661
278
            }
1662
278
            else {
1663
278
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
278
                     ++it) {
1665
278
                    str.push_back(*it);
1666
278
                }
1667
278
            }
1668
278
            m_view = string_view_type{str};
1669
278
        }
1670
278
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1620
264k
    {
1621
264k
        using value_t = ranges::range_value_t<Range>;
1622
1623
264k
        if constexpr (ranges::borrowed_range<Range> &&
1624
264k
                      ranges::contiguous_range<Range> &&
1625
264k
                      ranges::sized_range<Range>) {
1626
264k
            m_storage.reset();
1627
264k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
264k
        }
1629
264k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
264k
                                          std::basic_string<CharT>>) {
1631
264k
            m_storage.emplace(SCN_FWD(range));
1632
264k
            m_view = string_view_type{*m_storage};
1633
264k
        }
1634
264k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
264k
                                          typename detail::basic_scan_buffer<
1636
264k
                                              value_t>::forward_iterator> &&
1637
264k
                           ranges::common_range<Range>) {
1638
264k
            auto beg_seg = range.begin().contiguous_segment();
1639
264k
            auto end_seg = range.end().contiguous_segment();
1640
264k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
264k
                             detail::to_address(end_seg.end()))) {
1642
264k
                auto& str = m_storage.emplace();
1643
264k
                str.reserve(range.end().position() - range.begin().position());
1644
264k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
264k
                m_view = string_view_type{str};
1646
264k
                return;
1647
264k
            }
1648
1649
264k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
264k
                                                            end_seg.data());
1651
264k
            m_storage.reset();
1652
264k
        }
1653
264k
        else {
1654
264k
            auto& str = m_storage.emplace();
1655
264k
            if constexpr (ranges::sized_range<Range>) {
1656
264k
                str.reserve(range.size());
1657
264k
            }
1658
264k
            if constexpr (ranges::common_range<Range>) {
1659
264k
                std::copy(ranges::begin(range), ranges::end(range),
1660
264k
                          std::back_inserter(str));
1661
264k
            }
1662
264k
            else {
1663
264k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
264k
                     ++it) {
1665
264k
                    str.push_back(*it);
1666
264k
                }
1667
264k
            }
1668
264k
            m_view = string_view_type{str};
1669
264k
        }
1670
264k
    }
void scn::v3::impl::contiguous_range_factory<char>::emplace_range<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&)
Line
Count
Source
1620
947k
    {
1621
947k
        using value_t = ranges::range_value_t<Range>;
1622
1623
947k
        if constexpr (ranges::borrowed_range<Range> &&
1624
947k
                      ranges::contiguous_range<Range> &&
1625
947k
                      ranges::sized_range<Range>) {
1626
947k
            m_storage.reset();
1627
947k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
947k
        }
1629
947k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
947k
                                          std::basic_string<CharT>>) {
1631
947k
            m_storage.emplace(SCN_FWD(range));
1632
947k
            m_view = string_view_type{*m_storage};
1633
947k
        }
1634
947k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
947k
                                          typename detail::basic_scan_buffer<
1636
947k
                                              value_t>::forward_iterator> &&
1637
947k
                           ranges::common_range<Range>) {
1638
947k
            auto beg_seg = range.begin().contiguous_segment();
1639
947k
            auto end_seg = range.end().contiguous_segment();
1640
947k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
947k
                             detail::to_address(end_seg.end()))) {
1642
947k
                auto& str = m_storage.emplace();
1643
947k
                str.reserve(range.end().position() - range.begin().position());
1644
947k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
947k
                m_view = string_view_type{str};
1646
947k
                return;
1647
947k
            }
1648
1649
947k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
947k
                                                            end_seg.data());
1651
947k
            m_storage.reset();
1652
947k
        }
1653
947k
        else {
1654
947k
            auto& str = m_storage.emplace();
1655
947k
            if constexpr (ranges::sized_range<Range>) {
1656
947k
                str.reserve(range.size());
1657
947k
            }
1658
947k
            if constexpr (ranges::common_range<Range>) {
1659
947k
                std::copy(ranges::begin(range), ranges::end(range),
1660
947k
                          std::back_inserter(str));
1661
947k
            }
1662
947k
            else {
1663
947k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
947k
                     ++it) {
1665
947k
                    str.push_back(*it);
1666
947k
                }
1667
947k
            }
1668
947k
            m_view = string_view_type{str};
1669
947k
        }
1670
947k
    }
void scn::v3::impl::contiguous_range_factory<wchar_t>::emplace_range<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&&)
Line
Count
Source
1620
159k
    {
1621
159k
        using value_t = ranges::range_value_t<Range>;
1622
1623
159k
        if constexpr (ranges::borrowed_range<Range> &&
1624
159k
                      ranges::contiguous_range<Range> &&
1625
159k
                      ranges::sized_range<Range>) {
1626
159k
            m_storage.reset();
1627
159k
            m_view = string_view_type{ranges::data(range), range.size()};
1628
159k
        }
1629
159k
        else if constexpr (std::is_same_v<detail::remove_cvref_t<Range>,
1630
159k
                                          std::basic_string<CharT>>) {
1631
159k
            m_storage.emplace(SCN_FWD(range));
1632
159k
            m_view = string_view_type{*m_storage};
1633
159k
        }
1634
159k
        else if constexpr (std::is_same_v<ranges::iterator_t<Range>,
1635
159k
                                          typename detail::basic_scan_buffer<
1636
159k
                                              value_t>::forward_iterator> &&
1637
159k
                           ranges::common_range<Range>) {
1638
159k
            auto beg_seg = range.begin().contiguous_segment();
1639
159k
            auto end_seg = range.end().contiguous_segment();
1640
159k
            if (SCN_UNLIKELY(detail::to_address(beg_seg.end()) !=
1641
159k
                             detail::to_address(end_seg.end()))) {
1642
159k
                auto& str = m_storage.emplace();
1643
159k
                str.reserve(range.end().position() - range.begin().position());
1644
159k
                std::copy(range.begin(), range.end(), std::back_inserter(str));
1645
159k
                m_view = string_view_type{str};
1646
159k
                return;
1647
159k
            }
1648
1649
159k
            m_view = detail::make_string_view_from_pointers(beg_seg.data(),
1650
159k
                                                            end_seg.data());
1651
159k
            m_storage.reset();
1652
159k
        }
1653
159k
        else {
1654
159k
            auto& str = m_storage.emplace();
1655
159k
            if constexpr (ranges::sized_range<Range>) {
1656
159k
                str.reserve(range.size());
1657
159k
            }
1658
159k
            if constexpr (ranges::common_range<Range>) {
1659
159k
                std::copy(ranges::begin(range), ranges::end(range),
1660
159k
                          std::back_inserter(str));
1661
159k
            }
1662
159k
            else {
1663
159k
                for (auto it = ranges::begin(range); it != ranges::end(range);
1664
159k
                     ++it) {
1665
159k
                    str.push_back(*it);
1666
159k
                }
1667
159k
            }
1668
159k
            m_view = string_view_type{str};
1669
159k
        }
1670
159k
    }
1671
1672
    std::optional<string_type> m_storage{std::nullopt};
1673
    string_view_type m_view{};
1674
};
1675
1676
template <typename Range>
1677
contiguous_range_factory(Range)
1678
    -> contiguous_range_factory<detail::char_t<detail::remove_cvref_t<Range>>>;
1679
1680
template <typename Range>
1681
auto make_contiguous_buffer(Range&& range)
1682
20.5M
{
1683
20.5M
    if constexpr (ranges::borrowed_range<Range> &&
1684
20.5M
                  ranges::contiguous_range<Range> &&
1685
20.5M
                  ranges::sized_range<Range>) {
1686
15.0M
        return string_view_wrapper{SCN_FWD(range)};
1687
15.0M
    }
1688
5.48M
    else {
1689
5.48M
        return contiguous_range_factory{SCN_FWD(range)};
1690
5.48M
    }
1691
20.5M
}
Unexecuted instantiation: auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1682
1.87M
{
1683
1.87M
    if constexpr (ranges::borrowed_range<Range> &&
1684
1.87M
                  ranges::contiguous_range<Range> &&
1685
1.87M
                  ranges::sized_range<Range>) {
1686
1.87M
        return string_view_wrapper{SCN_FWD(range)};
1687
1.87M
    }
1688
1.87M
    else {
1689
1.87M
        return contiguous_range_factory{SCN_FWD(range)};
1690
1.87M
    }
1691
1.87M
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1682
1.52k
{
1683
1.52k
    if constexpr (ranges::borrowed_range<Range> &&
1684
1.52k
                  ranges::contiguous_range<Range> &&
1685
1.52k
                  ranges::sized_range<Range>) {
1686
1.52k
        return string_view_wrapper{SCN_FWD(range)};
1687
1.52k
    }
1688
1.52k
    else {
1689
1.52k
        return contiguous_range_factory{SCN_FWD(range)};
1690
1.52k
    }
1691
1.52k
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1682
2.19M
{
1683
2.19M
    if constexpr (ranges::borrowed_range<Range> &&
1684
2.19M
                  ranges::contiguous_range<Range> &&
1685
2.19M
                  ranges::sized_range<Range>) {
1686
2.19M
        return string_view_wrapper{SCN_FWD(range)};
1687
2.19M
    }
1688
2.19M
    else {
1689
2.19M
        return contiguous_range_factory{SCN_FWD(range)};
1690
2.19M
    }
1691
2.19M
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
1682
4.32M
{
1683
4.32M
    if constexpr (ranges::borrowed_range<Range> &&
1684
4.32M
                  ranges::contiguous_range<Range> &&
1685
4.32M
                  ranges::sized_range<Range>) {
1686
4.32M
        return string_view_wrapper{SCN_FWD(range)};
1687
4.32M
    }
1688
4.32M
    else {
1689
4.32M
        return contiguous_range_factory{SCN_FWD(range)};
1690
4.32M
    }
1691
4.32M
}
Unexecuted instantiation: auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1682
3.60M
{
1683
3.60M
    if constexpr (ranges::borrowed_range<Range> &&
1684
3.60M
                  ranges::contiguous_range<Range> &&
1685
3.60M
                  ranges::sized_range<Range>) {
1686
3.60M
        return string_view_wrapper{SCN_FWD(range)};
1687
3.60M
    }
1688
3.60M
    else {
1689
3.60M
        return contiguous_range_factory{SCN_FWD(range)};
1690
3.60M
    }
1691
3.60M
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1682
278
{
1683
278
    if constexpr (ranges::borrowed_range<Range> &&
1684
278
                  ranges::contiguous_range<Range> &&
1685
278
                  ranges::sized_range<Range>) {
1686
278
        return string_view_wrapper{SCN_FWD(range)};
1687
278
    }
1688
278
    else {
1689
278
        return contiguous_range_factory{SCN_FWD(range)};
1690
278
    }
1691
278
}
auto scn::v3::impl::make_contiguous_buffer<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1682
7.57M
{
1683
7.57M
    if constexpr (ranges::borrowed_range<Range> &&
1684
7.57M
                  ranges::contiguous_range<Range> &&
1685
7.57M
                  ranges::sized_range<Range>) {
1686
7.57M
        return string_view_wrapper{SCN_FWD(range)};
1687
7.57M
    }
1688
7.57M
    else {
1689
7.57M
        return contiguous_range_factory{SCN_FWD(range)};
1690
7.57M
    }
1691
7.57M
}
auto scn::v3::impl::make_contiguous_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
1682
952k
{
1683
952k
    if constexpr (ranges::borrowed_range<Range> &&
1684
952k
                  ranges::contiguous_range<Range> &&
1685
952k
                  ranges::sized_range<Range>) {
1686
952k
        return string_view_wrapper{SCN_FWD(range)};
1687
952k
    }
1688
952k
    else {
1689
952k
        return contiguous_range_factory{SCN_FWD(range)};
1690
952k
    }
1691
952k
}
1692
}  // namespace impl
1693
1694
/////////////////////////////////////////////////////////////////
1695
// locale stuff
1696
/////////////////////////////////////////////////////////////////
1697
1698
#if !SCN_DISABLE_LOCALE
1699
1700
namespace detail {
1701
extern template locale_ref::locale_ref(const std::locale&);
1702
extern template auto locale_ref::get() const -> std::locale;
1703
}  // namespace detail
1704
1705
namespace impl {
1706
template <typename Facet>
1707
const Facet& get_facet(detail::locale_ref loc)
1708
{
1709
    auto stdloc = loc.get<std::locale>();
1710
    SCN_EXPECT(std::has_facet<Facet>(stdloc));
1711
    return std::use_facet<Facet>(stdloc);
1712
}
1713
1714
template <typename Facet>
1715
const Facet& get_or_add_facet(std::locale& stdloc)
1716
1.28M
{
1717
1.28M
    if (std::has_facet<Facet>(stdloc)) {
1718
1.28M
        return std::use_facet<Facet>(stdloc);
1719
1.28M
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
1.28M
}
std::__1::numpunct<char> const& scn::v3::impl::get_or_add_facet<std::__1::numpunct<char> >(std::__1::locale&)
Line
Count
Source
1716
1.08M
{
1717
1.08M
    if (std::has_facet<Facet>(stdloc)) {
1718
1.08M
        return std::use_facet<Facet>(stdloc);
1719
1.08M
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
1.08M
}
std::__1::numpunct<wchar_t> const& scn::v3::impl::get_or_add_facet<std::__1::numpunct<wchar_t> >(std::__1::locale&)
Line
Count
Source
1716
202k
{
1717
202k
    if (std::has_facet<Facet>(stdloc)) {
1718
202k
        return std::use_facet<Facet>(stdloc);
1719
202k
    }
1720
0
    stdloc = std::locale(stdloc, new Facet{});
1721
0
    return std::use_facet<Facet>(stdloc);
1722
202k
}
1723
1724
class clocale_restorer {
1725
public:
1726
    clocale_restorer(int cat) : m_category(cat)
1727
1.16M
    {
1728
1.16M
        const auto loc = std::setlocale(cat, nullptr);
1729
1.16M
        std::strcpy(m_locbuf, loc);
1730
1.16M
    }
1731
    ~clocale_restorer()
1732
1.16M
    {
1733
        // Restore locale to what it was before
1734
1.16M
        std::setlocale(m_category, m_locbuf);
1735
1.16M
    }
1736
1737
    clocale_restorer(const clocale_restorer&) = delete;
1738
    clocale_restorer(clocale_restorer&&) = delete;
1739
    clocale_restorer& operator=(const clocale_restorer&) = delete;
1740
    clocale_restorer& operator=(clocale_restorer&&) = delete;
1741
1742
private:
1743
    // For whatever reason, this cannot be stored in the heap if
1744
    // setlocale hasn't been called before, or msan errors with
1745
    // 'use-of-unitialized-value' when resetting the locale
1746
    // back. POSIX specifies that the content of loc may not be
1747
    // static, so we need to save it ourselves
1748
    char m_locbuf[64] = {0};
1749
1750
    int m_category;
1751
};
1752
1753
class set_clocale_classic_guard {
1754
public:
1755
    set_clocale_classic_guard(int cat) : m_restorer(cat)
1756
1.16M
    {
1757
1.16M
        std::setlocale(cat, "C");
1758
1.16M
    }
1759
1760
private:
1761
    clocale_restorer m_restorer;
1762
};
1763
}  // namespace impl
1764
1765
namespace impl {
1766
struct classic_with_thsep_tag {};
1767
1768
template <typename CharT>
1769
struct localized_number_formatting_options {
1770
2.88M
    localized_number_formatting_options() = default;
scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options()
Line
Count
Source
1770
2.22M
    localized_number_formatting_options() = default;
scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options()
Line
Count
Source
1770
660k
    localized_number_formatting_options() = default;
1771
1772
    localized_number_formatting_options(classic_with_thsep_tag)
1773
0
    {
1774
0
        grouping = "\3";
1775
0
        thousands_sep = CharT{','};
1776
0
    }
Unexecuted instantiation: scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v3::impl::classic_with_thsep_tag)
Unexecuted instantiation: scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v3::impl::classic_with_thsep_tag)
1777
1778
    localized_number_formatting_options(detail::locale_ref loc)
1779
1.28M
    {
1780
1.28M
        auto stdloc = loc.get<std::locale>();
1781
1.28M
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
1.28M
        grouping = numpunct.grouping();
1783
1.28M
        thousands_sep =
1784
1.28M
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
1.28M
        decimal_point = numpunct.decimal_point();
1786
1.28M
    }
scn::v3::impl::localized_number_formatting_options<char>::localized_number_formatting_options(scn::v3::detail::locale_ref)
Line
Count
Source
1779
1.08M
    {
1780
1.08M
        auto stdloc = loc.get<std::locale>();
1781
1.08M
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
1.08M
        grouping = numpunct.grouping();
1783
1.08M
        thousands_sep =
1784
1.08M
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
1.08M
        decimal_point = numpunct.decimal_point();
1786
1.08M
    }
scn::v3::impl::localized_number_formatting_options<wchar_t>::localized_number_formatting_options(scn::v3::detail::locale_ref)
Line
Count
Source
1779
202k
    {
1780
202k
        auto stdloc = loc.get<std::locale>();
1781
202k
        const auto& numpunct = get_or_add_facet<std::numpunct<CharT>>(stdloc);
1782
202k
        grouping = numpunct.grouping();
1783
202k
        thousands_sep =
1784
202k
            grouping.length() != 0 ? numpunct.thousands_sep() : CharT{0};
1785
202k
        decimal_point = numpunct.decimal_point();
1786
202k
    }
1787
1788
    std::string grouping{};
1789
    CharT thousands_sep{0};
1790
    CharT decimal_point{CharT{'.'}};
1791
};
1792
}  // namespace impl
1793
1794
#else
1795
1796
namespace impl {
1797
struct set_clocale_classic_guard {
1798
    set_clocale_classic_guard(int) {}
1799
};
1800
1801
struct classic_with_thsep_tag {};
1802
1803
template <typename CharT>
1804
struct localized_number_formatting_options {
1805
    localized_number_formatting_options() = default;
1806
1807
    localized_number_formatting_options(classic_with_thsep_tag)
1808
    {
1809
        grouping = "\3";
1810
        thousands_sep = CharT{','};
1811
    }
1812
1813
    std::string grouping{};
1814
    CharT thousands_sep{0};
1815
    CharT decimal_point{CharT{'.'}};
1816
};
1817
}  // namespace impl
1818
1819
#endif  // !SCN_DISABLE_LOCALE
1820
1821
/////////////////////////////////////////////////////////////////
1822
// Range reading algorithms
1823
/////////////////////////////////////////////////////////////////
1824
1825
namespace impl {
1826
1827
std::string_view::iterator find_classic_space_narrow_fast(
1828
    std::string_view source);
1829
1830
std::string_view::iterator find_classic_nonspace_narrow_fast(
1831
    std::string_view source);
1832
1833
std::string_view::iterator find_nondecimal_digit_narrow_fast(
1834
    std::string_view source);
1835
1836
template <typename Range>
1837
auto read_all(Range range) -> ranges::const_iterator_t<Range>
1838
897k
{
1839
897k
    return ranges::next(range.begin(), range.end());
1840
897k
}
_ZN3scn2v34impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1838
694k
{
1839
694k
    return ranges::next(range.begin(), range.end());
1840
694k
}
Unexecuted instantiation: _ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1838
96
{
1839
96
    return ranges::next(range.begin(), range.end());
1840
96
}
_ZN3scn2v34impl8read_allINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
1838
203k
{
1839
203k
    return ranges::next(range.begin(), range.end());
1840
203k
}
Unexecuted instantiation: _ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl8read_allINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
1838
54
{
1839
54
    return ranges::next(range.begin(), range.end());
1840
54
}
1841
1842
template <typename Range>
1843
auto read_code_unit(Range range)
1844
    -> eof_expected<ranges::const_iterator_t<Range>>
1845
12.4M
{
1846
12.4M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
26.2k
        return unexpected(e);
1848
26.2k
    }
1849
1850
12.4M
    return ranges::next(range.begin());
1851
12.4M
}
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
1845
6.10M
{
1846
6.10M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
19.1k
        return unexpected(e);
1848
19.1k
    }
1849
1850
6.08M
    return ranges::next(range.begin());
1851
6.10M
}
_ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1845
1.86k
{
1846
1.86k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
1.86k
    return ranges::next(range.begin());
1851
1.86k
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1845
34
{
1846
34
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
34
    return ranges::next(range.begin());
1851
34
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1845
4.32M
{
1846
4.32M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
5.27k
        return unexpected(e);
1848
5.27k
    }
1849
1850
4.31M
    return ranges::next(range.begin());
1851
4.32M
}
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
1845
1.09M
{
1846
1.09M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
1.42k
        return unexpected(e);
1848
1.42k
    }
1849
1850
1.09M
    return ranges::next(range.begin());
1851
1.09M
}
_ZN3scn2v34impl14read_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
1845
806
{
1846
806
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
806
    return ranges::next(range.begin());
1851
806
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
1845
30
{
1846
30
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
0
        return unexpected(e);
1848
0
    }
1849
1850
30
    return ranges::next(range.begin());
1851
30
}
_ZN3scn2v34impl14read_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
1845
943k
{
1846
943k
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1847
440
        return unexpected(e);
1848
440
    }
1849
1850
943k
    return ranges::next(range.begin());
1851
943k
}
1852
1853
template <typename Range>
1854
auto read_exactly_n_code_units(Range range, std::ptrdiff_t count)
1855
    -> eof_expected<ranges::const_iterator_t<Range>>
1856
7.41M
{
1857
7.41M
    SCN_EXPECT(count >= 0);
1858
1859
7.41M
    if constexpr (ranges::sized_range<Range>) {
1860
6.21M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
6.21M
        if (sz < count) {
1862
73.2k
            return unexpected(eof_error::eof);
1863
73.2k
        }
1864
1865
1.13M
        return ranges::next(range.begin(), count);
1866
1.20M
    }
1867
6.21M
    else {
1868
6.21M
        auto it = range.begin();
1869
6.21M
        if (guaranteed_minimum_size(range) >= count) {
1870
4.51M
            return ranges::next(it, count);
1871
4.51M
        }
1872
1873
6.47M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
4.91M
            if (it == range.end()) {
1875
129k
                return unexpected(eof_error::eof);
1876
129k
            }
1877
4.91M
        }
1878
1879
1.56M
        return it;
1880
1.69M
    }
1881
7.41M
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Line
Count
Source
1856
5.08M
{
1857
5.08M
    SCN_EXPECT(count >= 0);
1858
1859
5.08M
    if constexpr (ranges::sized_range<Range>) {
1860
5.08M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
5.08M
        if (sz < count) {
1862
5.08M
            return unexpected(eof_error::eof);
1863
5.08M
        }
1864
1865
5.08M
        return ranges::next(range.begin(), count);
1866
5.08M
    }
1867
5.08M
    else {
1868
5.08M
        auto it = range.begin();
1869
5.08M
        if (guaranteed_minimum_size(range) >= count) {
1870
3.77M
            return ranges::next(it, count);
1871
3.77M
        }
1872
1873
5.07M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
3.82M
            if (it == range.end()) {
1875
56.4k
                return unexpected(eof_error::eof);
1876
56.4k
            }
1877
3.82M
        }
1878
1879
1.25M
        return it;
1880
1.30M
    }
1881
5.08M
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1856
20.1k
{
1857
20.1k
    SCN_EXPECT(count >= 0);
1858
1859
20.1k
    if constexpr (ranges::sized_range<Range>) {
1860
20.1k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
20.1k
        if (sz < count) {
1862
414
            return unexpected(eof_error::eof);
1863
414
        }
1864
1865
19.7k
        return ranges::next(range.begin(), count);
1866
20.1k
    }
1867
20.1k
    else {
1868
20.1k
        auto it = range.begin();
1869
20.1k
        if (guaranteed_minimum_size(range) >= count) {
1870
20.1k
            return ranges::next(it, count);
1871
20.1k
        }
1872
1873
20.1k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
20.1k
            if (it == range.end()) {
1875
20.1k
                return unexpected(eof_error::eof);
1876
20.1k
            }
1877
20.1k
        }
1878
1879
20.1k
        return it;
1880
20.1k
    }
1881
20.1k
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1856
3.03k
{
1857
3.03k
    SCN_EXPECT(count >= 0);
1858
1859
3.03k
    if constexpr (ranges::sized_range<Range>) {
1860
3.03k
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
3.03k
        if (sz < count) {
1862
3.03k
            return unexpected(eof_error::eof);
1863
3.03k
        }
1864
1865
3.03k
        return ranges::next(range.begin(), count);
1866
3.03k
    }
1867
3.03k
    else {
1868
3.03k
        auto it = range.begin();
1869
3.03k
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
11.0k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
8.23k
            if (it == range.end()) {
1875
204
                return unexpected(eof_error::eof);
1876
204
            }
1877
8.23k
        }
1878
1879
2.83k
        return it;
1880
3.03k
    }
1881
3.03k
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_l
Line
Count
Source
1856
1.12M
{
1857
1.12M
    SCN_EXPECT(count >= 0);
1858
1859
1.12M
    if constexpr (ranges::sized_range<Range>) {
1860
1.12M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
1.12M
        if (sz < count) {
1862
1.12M
            return unexpected(eof_error::eof);
1863
1.12M
        }
1864
1865
1.12M
        return ranges::next(range.begin(), count);
1866
1.12M
    }
1867
1.12M
    else {
1868
1.12M
        auto it = range.begin();
1869
1.12M
        if (guaranteed_minimum_size(range) >= count) {
1870
744k
            return ranges::next(it, count);
1871
744k
        }
1872
1873
1.38M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.07M
            if (it == range.end()) {
1875
72.5k
                return unexpected(eof_error::eof);
1876
72.5k
            }
1877
1.07M
        }
1878
1879
306k
        return it;
1880
378k
    }
1881
1.12M
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_l
Line
Count
Source
1856
1.18M
{
1857
1.18M
    SCN_EXPECT(count >= 0);
1858
1859
1.18M
    if constexpr (ranges::sized_range<Range>) {
1860
1.18M
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
1.18M
        if (sz < count) {
1862
72.7k
            return unexpected(eof_error::eof);
1863
72.7k
        }
1864
1865
1.11M
        return ranges::next(range.begin(), count);
1866
1.18M
    }
1867
1.18M
    else {
1868
1.18M
        auto it = range.begin();
1869
1.18M
        if (guaranteed_minimum_size(range) >= count) {
1870
1.18M
            return ranges::next(it, count);
1871
1.18M
        }
1872
1873
1.18M
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.18M
            if (it == range.end()) {
1875
1.18M
                return unexpected(eof_error::eof);
1876
1.18M
            }
1877
1.18M
        }
1878
1879
1.18M
        return it;
1880
1.18M
    }
1881
1.18M
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESO_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEEESS_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_l
Line
Count
Source
1856
510
{
1857
510
    SCN_EXPECT(count >= 0);
1858
1859
510
    if constexpr (ranges::sized_range<Range>) {
1860
510
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
510
        if (sz < count) {
1862
510
            return unexpected(eof_error::eof);
1863
510
        }
1864
1865
510
        return ranges::next(range.begin(), count);
1866
510
    }
1867
510
    else {
1868
510
        auto it = range.begin();
1869
510
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
1.68k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.23k
            if (it == range.end()) {
1875
62
                return unexpected(eof_error::eof);
1876
62
            }
1877
1.23k
        }
1878
1879
448
        return it;
1880
510
    }
1881
510
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
Line
Count
Source
1856
204
{
1857
204
    SCN_EXPECT(count >= 0);
1858
1859
204
    if constexpr (ranges::sized_range<Range>) {
1860
204
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
204
        if (sz < count) {
1862
204
            return unexpected(eof_error::eof);
1863
204
        }
1864
1865
204
        return ranges::next(range.begin(), count);
1866
204
    }
1867
204
    else {
1868
204
        auto it = range.begin();
1869
204
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
794
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
650
            if (it == range.end()) {
1875
60
                return unexpected(eof_error::eof);
1876
60
            }
1877
650
        }
1878
1879
144
        return it;
1880
204
    }
1881
204
}
_ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1856
608
{
1857
608
    SCN_EXPECT(count >= 0);
1858
1859
608
    if constexpr (ranges::sized_range<Range>) {
1860
608
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
608
        if (sz < count) {
1862
608
            return unexpected(eof_error::eof);
1863
608
        }
1864
1865
608
        return ranges::next(range.begin(), count);
1866
608
    }
1867
608
    else {
1868
608
        auto it = range.begin();
1869
608
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
3.01k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
2.53k
            if (it == range.end()) {
1875
128
                return unexpected(eof_error::eof);
1876
128
            }
1877
2.53k
        }
1878
1879
480
        return it;
1880
608
    }
1881
608
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESP_l
_ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_l
Line
Count
Source
1856
248
{
1857
248
    SCN_EXPECT(count >= 0);
1858
1859
248
    if constexpr (ranges::sized_range<Range>) {
1860
248
        const auto sz = static_cast<std::ptrdiff_t>(range.size());
1861
248
        if (sz < count) {
1862
248
            return unexpected(eof_error::eof);
1863
248
        }
1864
1865
248
        return ranges::next(range.begin(), count);
1866
248
    }
1867
248
    else {
1868
248
        auto it = range.begin();
1869
248
        if (guaranteed_minimum_size(range) >= count) {
1870
0
            return ranges::next(it, count);
1871
0
        }
1872
1873
1.23k
        for (std::ptrdiff_t i = 0; i < count; ++i, (void)++it) {
1874
1.04k
            if (it == range.end()) {
1875
54
                return unexpected(eof_error::eof);
1876
54
            }
1877
1.04k
        }
1878
1879
194
        return it;
1880
248
    }
1881
248
}
Unexecuted instantiation: _ZN3scn2v34impl25read_exactly_n_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_l
1882
1883
template <typename Iterator, typename CharT>
1884
struct read_code_point_into_result {
1885
    Iterator iterator;
1886
    std::basic_string<CharT> codepoint;
1887
1888
    bool is_valid() const
1889
236M
    {
1890
236M
        return !codepoint.empty();
1891
236M
    }
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, char>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, char>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, char>::is_valid() const
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, char>::is_valid() const
Line
Count
Source
1889
28.4k
    {
1890
28.4k
        return !codepoint.empty();
1891
28.4k
    }
scn::v3::impl::read_code_point_into_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, char>::is_valid() const
Line
Count
Source
1889
9.72M
    {
1890
9.72M
        return !codepoint.empty();
1891
9.72M
    }
scn::v3::impl::read_code_point_into_result<char const*, char>::is_valid() const
Line
Count
Source
1889
319k
    {
1890
319k
        return !codepoint.empty();
1891
319k
    }
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, wchar_t>::is_valid() const
Unexecuted instantiation: scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, wchar_t>::is_valid() const
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, wchar_t>::is_valid() const
Line
Count
Source
1889
7.13k
    {
1890
7.13k
        return !codepoint.empty();
1891
7.13k
    }
scn::v3::impl::read_code_point_into_result<wchar_t const*, wchar_t>::is_valid() const
Line
Count
Source
1889
151M
    {
1890
151M
        return !codepoint.empty();
1891
151M
    }
scn::v3::impl::read_code_point_into_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, wchar_t>::is_valid() const
Line
Count
Source
1889
75.6M
    {
1890
75.6M
        return !codepoint.empty();
1891
75.6M
    }
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, char>::is_valid() const
Line
Count
Source
1889
2.85k
    {
1890
2.85k
        return !codepoint.empty();
1891
2.85k
    }
scn::v3::impl::read_code_point_into_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, wchar_t>::is_valid() const
Line
Count
Source
1889
724
    {
1890
724
        return !codepoint.empty();
1891
724
    }
1892
};
1893
1894
template <typename Range>
1895
auto read_code_point_into(Range range)
1896
    -> read_code_point_into_result<ranges::const_iterator_t<Range>,
1897
                                   detail::char_t<Range>>
1898
236M
{
1899
236M
    SCN_EXPECT(!is_range_eof(range));
1900
236M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
236M
    auto it = range.begin();
1903
236M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
236M
    if (SCN_UNLIKELY(len == 0)) {
1906
47.3k
        ++it;
1907
47.3k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
47.3k
        return {it, {}};
1909
47.3k
    }
1910
1911
236M
    if (len == 1) {
1912
236M
        ++it;
1913
236M
        return {it, string_type(1, *range.begin())};
1914
236M
    }
1915
1916
329k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
329k
    return {it, string_type{range.begin(), it}};
1918
236M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
1898
28.4k
{
1899
28.4k
    SCN_EXPECT(!is_range_eof(range));
1900
28.4k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
28.4k
    auto it = range.begin();
1903
28.4k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
28.4k
    if (SCN_UNLIKELY(len == 0)) {
1906
1.82k
        ++it;
1907
1.82k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
1.82k
        return {it, {}};
1909
1.82k
    }
1910
1911
26.5k
    if (len == 1) {
1912
23.5k
        ++it;
1913
23.5k
        return {it, string_type(1, *range.begin())};
1914
23.5k
    }
1915
1916
3.06k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
3.06k
    return {it, string_type{range.begin(), it}};
1918
26.5k
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
Line
Count
Source
1898
9.72M
{
1899
9.72M
    SCN_EXPECT(!is_range_eof(range));
1900
9.72M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
9.72M
    auto it = range.begin();
1903
9.72M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
9.72M
    if (SCN_UNLIKELY(len == 0)) {
1906
44.5k
        ++it;
1907
44.5k
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
44.5k
        return {it, {}};
1909
44.5k
    }
1910
1911
9.68M
    if (len == 1) {
1912
9.39M
        ++it;
1913
9.39M
        return {it, string_type(1, *range.begin())};
1914
9.39M
    }
1915
1916
285k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
285k
    return {it, string_type{range.begin(), it}};
1918
9.68M
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
1898
319k
{
1899
319k
    SCN_EXPECT(!is_range_eof(range));
1900
319k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
319k
    auto it = range.begin();
1903
319k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
319k
    if (SCN_UNLIKELY(len == 0)) {
1906
954
        ++it;
1907
954
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
954
        return {it, {}};
1909
954
    }
1910
1911
318k
    if (len == 1) {
1912
278k
        ++it;
1913
278k
        return {it, string_type(1, *range.begin())};
1914
278k
    }
1915
1916
39.9k
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
39.9k
    return {it, string_type{range.begin(), it}};
1918
318k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENSF_ISH_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEENSC_ISI_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISS_EEE4typeEEESS_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENDTcl4implISO_EEE4typeEEESO_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISD_EEE4typeEEESD_
Line
Count
Source
1898
151M
{
1899
151M
    SCN_EXPECT(!is_range_eof(range));
1900
151M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
151M
    auto it = range.begin();
1903
151M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
151M
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
151M
    if (len == 1) {
1912
151M
        ++it;
1913
151M
        return {it, string_type(1, *range.begin())};
1914
151M
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
151M
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISL_EEE4typeEEESL_
Line
Count
Source
1898
7.13k
{
1899
7.13k
    SCN_EXPECT(!is_range_eof(range));
1900
7.13k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
7.13k
    auto it = range.begin();
1903
7.13k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
7.13k
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
7.13k
    if (len == 1) {
1912
7.13k
        ++it;
1913
7.13k
        return {it, string_type(1, *range.begin())};
1914
7.13k
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
7.13k
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISG_EEE4typeEEESG_
Line
Count
Source
1898
75.6M
{
1899
75.6M
    SCN_EXPECT(!is_range_eof(range));
1900
75.6M
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
75.6M
    auto it = range.begin();
1903
75.6M
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
75.6M
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
75.6M
    if (len == 1) {
1912
75.6M
        ++it;
1913
75.6M
        return {it, string_type(1, *range.begin())};
1914
75.6M
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
75.6M
}
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
1898
2.85k
{
1899
2.85k
    SCN_EXPECT(!is_range_eof(range));
1900
2.85k
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
2.85k
    auto it = range.begin();
1903
2.85k
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
2.85k
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
2.85k
    if (len == 1) {
1912
2.28k
        ++it;
1913
2.28k
        return {it, string_type(1, *range.begin())};
1914
2.28k
    }
1915
1916
566
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
566
    return {it, string_type{range.begin(), it}};
1918
2.85k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
_ZN3scn2v34impl20read_code_point_intoINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS8_IPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENSC_ISE_E8sentinelILb1EEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISP_EEE4typeEEESP_
Line
Count
Source
1898
724
{
1899
724
    SCN_EXPECT(!is_range_eof(range));
1900
724
    using string_type = std::basic_string<detail::char_t<Range>>;
1901
1902
724
    auto it = range.begin();
1903
724
    const auto len = detail::code_point_length_by_starting_code_unit(*it);
1904
1905
724
    if (SCN_UNLIKELY(len == 0)) {
1906
0
        ++it;
1907
0
        it = get_start_for_next_code_point(ranges::subrange{it, range.end()});
1908
0
        return {it, {}};
1909
0
    }
1910
1911
724
    if (len == 1) {
1912
724
        ++it;
1913
724
        return {it, string_type(1, *range.begin())};
1914
724
    }
1915
1916
0
    ranges::advance(it, static_cast<std::ptrdiff_t>(len), range.end());
1917
0
    return {it, string_type{range.begin(), it}};
1918
724
}
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISF_EEE4typeEEESF_
Unexecuted instantiation: _ZN3scn2v34impl20read_code_point_intoINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_27read_code_point_into_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEENDTcl4implISI_EEE4typeEEESI_
1919
1920
template <typename Range>
1921
auto read_code_point(Range range) -> ranges::const_iterator_t<Range>
1922
{
1923
    return read_code_point_into(range).iterator;
1924
}
1925
1926
template <typename Range>
1927
auto read_exactly_n_code_points(Range range, std::ptrdiff_t count)
1928
    -> eof_expected<ranges::const_iterator_t<Range>>
1929
{
1930
    SCN_EXPECT(count >= 0);
1931
1932
    if (count > 0) {
1933
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
1934
            return unexpected(e);
1935
        }
1936
    }
1937
1938
    auto it = range.begin();
1939
    for (std::ptrdiff_t i = 0; i < count; ++i) {
1940
        auto rng = ranges::subrange{it, range.end()};
1941
1942
        if (auto e = eof_check(rng); SCN_UNLIKELY(!e)) {
1943
            return unexpected(e);
1944
        }
1945
1946
        it = read_code_point(rng);
1947
    }
1948
1949
    return it;
1950
}
1951
1952
template <typename Range>
1953
auto read_until_code_unit(Range range,
1954
                          function_ref<bool(detail::char_t<Range>)> pred)
1955
    -> ranges::const_iterator_t<Range>
1956
5.59M
{
1957
5.59M
    if constexpr (ranges::common_range<Range>) {
1958
4.76M
        return std::find_if(range.begin(), range.end(), pred);
1959
4.76M
    }
1960
4.76M
    else {
1961
4.76M
        auto first = range.begin();
1962
19.7M
        for (; first != range.end(); ++first) {
1963
19.7M
            if (pred(*first)) {
1964
4.72M
                return first;
1965
4.72M
            }
1966
19.7M
        }
1967
48.2k
        return first;
1968
4.76M
    }
1969
5.59M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
3.94M
{
1957
3.94M
    if constexpr (ranges::common_range<Range>) {
1958
3.94M
        return std::find_if(range.begin(), range.end(), pred);
1959
3.94M
    }
1960
3.94M
    else {
1961
3.94M
        auto first = range.begin();
1962
18.7M
        for (; first != range.end(); ++first) {
1963
18.6M
            if (pred(*first)) {
1964
3.90M
                return first;
1965
3.90M
            }
1966
18.6M
        }
1967
44.5k
        return first;
1968
3.94M
    }
1969
3.94M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1956
1.05k
{
1957
1.05k
    if constexpr (ranges::common_range<Range>) {
1958
1.05k
        return std::find_if(range.begin(), range.end(), pred);
1959
1.05k
    }
1960
1.05k
    else {
1961
1.05k
        auto first = range.begin();
1962
1.05k
        for (; first != range.end(); ++first) {
1963
1.05k
            if (pred(*first)) {
1964
1.05k
                return first;
1965
1.05k
            }
1966
1.05k
        }
1967
0
        return first;
1968
1.05k
    }
1969
1.05k
}
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1956
606k
{
1957
606k
    if constexpr (ranges::common_range<Range>) {
1958
606k
        return std::find_if(range.begin(), range.end(), pred);
1959
606k
    }
1960
606k
    else {
1961
606k
        auto first = range.begin();
1962
606k
        for (; first != range.end(); ++first) {
1963
606k
            if (pred(*first)) {
1964
606k
                return first;
1965
606k
            }
1966
606k
        }
1967
606k
        return first;
1968
606k
    }
1969
606k
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1956
530
{
1957
530
    if constexpr (ranges::common_range<Range>) {
1958
530
        return std::find_if(range.begin(), range.end(), pred);
1959
530
    }
1960
530
    else {
1961
530
        auto first = range.begin();
1962
9.96k
        for (; first != range.end(); ++first) {
1963
9.69k
            if (pred(*first)) {
1964
256
                return first;
1965
256
            }
1966
9.69k
        }
1967
274
        return first;
1968
530
    }
1969
530
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
817k
{
1957
817k
    if constexpr (ranges::common_range<Range>) {
1958
817k
        return std::find_if(range.begin(), range.end(), pred);
1959
817k
    }
1960
817k
    else {
1961
817k
        auto first = range.begin();
1962
1.03M
        for (; first != range.end(); ++first) {
1963
1.03M
            if (pred(*first)) {
1964
814k
                return first;
1965
814k
            }
1966
1.03M
        }
1967
3.23k
        return first;
1968
817k
    }
1969
817k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_until_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1956
460
{
1957
460
    if constexpr (ranges::common_range<Range>) {
1958
460
        return std::find_if(range.begin(), range.end(), pred);
1959
460
    }
1960
460
    else {
1961
460
        auto first = range.begin();
1962
460
        for (; first != range.end(); ++first) {
1963
460
            if (pred(*first)) {
1964
460
                return first;
1965
460
            }
1966
460
        }
1967
0
        return first;
1968
460
    }
1969
460
}
_ZN3scn2v34impl20read_until_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1956
217k
{
1957
217k
    if constexpr (ranges::common_range<Range>) {
1958
217k
        return std::find_if(range.begin(), range.end(), pred);
1959
217k
    }
1960
217k
    else {
1961
217k
        auto first = range.begin();
1962
217k
        for (; first != range.end(); ++first) {
1963
217k
            if (pred(*first)) {
1964
217k
                return first;
1965
217k
            }
1966
217k
        }
1967
217k
        return first;
1968
217k
    }
1969
217k
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1956
100
{
1957
100
    if constexpr (ranges::common_range<Range>) {
1958
100
        return std::find_if(range.begin(), range.end(), pred);
1959
100
    }
1960
100
    else {
1961
100
        auto first = range.begin();
1962
1.17k
        for (; first != range.end(); ++first) {
1963
1.11k
            if (pred(*first)) {
1964
38
                return first;
1965
38
            }
1966
1.11k
        }
1967
62
        return first;
1968
100
    }
1969
100
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
494
{
1957
494
    if constexpr (ranges::common_range<Range>) {
1958
494
        return std::find_if(range.begin(), range.end(), pred);
1959
494
    }
1960
494
    else {
1961
494
        auto first = range.begin();
1962
856
        for (; first != range.end(); ++first) {
1963
802
            if (pred(*first)) {
1964
440
                return first;
1965
440
            }
1966
802
        }
1967
54
        return first;
1968
494
    }
1969
494
}
_ZN3scn2v34impl20read_until_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1956
234
{
1957
234
    if constexpr (ranges::common_range<Range>) {
1958
234
        return std::find_if(range.begin(), range.end(), pred);
1959
234
    }
1960
234
    else {
1961
234
        auto first = range.begin();
1962
314
        for (; first != range.end(); ++first) {
1963
280
            if (pred(*first)) {
1964
200
                return first;
1965
200
            }
1966
280
        }
1967
34
        return first;
1968
234
    }
1969
234
}
1970
1971
template <typename Range>
1972
auto read_while_code_unit(Range range,
1973
                          function_ref<bool(detail::char_t<Range>)> pred)
1974
    -> ranges::const_iterator_t<Range>
1975
5.59M
{
1976
5.59M
    return read_until_code_unit(range, std::not_fn(pred));
1977
5.59M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
3.94M
{
1976
3.94M
    return read_until_code_unit(range, std::not_fn(pred));
1977
3.94M
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1975
1.05k
{
1976
1.05k
    return read_until_code_unit(range, std::not_fn(pred));
1977
1.05k
}
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1975
606k
{
1976
606k
    return read_until_code_unit(range, std::not_fn(pred));
1977
606k
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1975
272
{
1976
272
    return read_until_code_unit(range, std::not_fn(pred));
1977
272
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbNDTcl4implISH_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbNDTcl4implISI_EEE4typeEENS1_12fnref_detail11qual_fn_sigISQ_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
817k
{
1976
817k
    return read_until_code_unit(range, std::not_fn(pred));
1977
817k
}
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbNDTcl4implISN_EEE4typeEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISL_E8functionEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_while_code_unitINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbNDTcl4implISA_EEE4typeEENS1_12fnref_detail11qual_fn_sigISI_E8functionEEE
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbNDTcl4implISK_EEE4typeEENS1_12fnref_detail11qual_fn_sigISS_E8functionEEE
Line
Count
Source
1975
460
{
1976
460
    return read_until_code_unit(range, std::not_fn(pred));
1977
460
}
_ZN3scn2v34impl20read_while_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbNDTcl4implISC_EEE4typeEENS1_12fnref_detail11qual_fn_sigISK_E8functionEEE
Line
Count
Source
1975
216k
{
1976
216k
    return read_until_code_unit(range, std::not_fn(pred));
1977
216k
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbNDTcl4implISE_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1975
40
{
1976
40
    return read_until_code_unit(range, std::not_fn(pred));
1977
40
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
494
{
1976
494
    return read_until_code_unit(range, std::not_fn(pred));
1977
494
}
_ZN3scn2v34impl20read_while_code_unitINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbNDTcl4implISF_EEE4typeEENS1_12fnref_detail11qual_fn_sigISN_E8functionEEE
Line
Count
Source
1975
234
{
1976
234
    return read_until_code_unit(range, std::not_fn(pred));
1977
234
}
1978
1979
template <typename Range>
1980
auto read_until1_code_unit(Range range,
1981
                           function_ref<bool(detail::char_t<Range>)> pred)
1982
    -> parse_expected<ranges::const_iterator_t<Range>>
1983
{
1984
    auto it = read_until_code_unit(range, pred);
1985
    if (it == range.begin()) {
1986
        return unexpected(parse_error::error);
1987
    }
1988
    return it;
1989
}
1990
1991
template <typename Range>
1992
auto read_while1_code_unit(Range range,
1993
                           function_ref<bool(detail::char_t<Range>)> pred)
1994
    -> parse_expected<ranges::const_iterator_t<Range>>
1995
5.53M
{
1996
5.53M
    auto it = read_while_code_unit(range, pred);
1997
5.53M
    if (it == range.begin()) {
1998
2.01M
        return unexpected(parse_error::error);
1999
2.01M
    }
2000
3.51M
    return it;
2001
5.53M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Line
Count
Source
1995
3.93M
{
1996
3.93M
    auto it = read_while_code_unit(range, pred);
1997
3.93M
    if (it == range.begin()) {
1998
1.01M
        return unexpected(parse_error::error);
1999
1.01M
    }
2000
2.92M
    return it;
2001
3.93M
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
1995
1.05k
{
1996
1.05k
    auto it = read_while_code_unit(range, pred);
1997
1.05k
    if (it == range.begin()) {
1998
1.05k
        return unexpected(parse_error::error);
1999
1.05k
    }
2000
0
    return it;
2001
1.05k
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1995
589k
{
1996
589k
    auto it = read_while_code_unit(range, pred);
1997
589k
    if (it == range.begin()) {
1998
245k
        return unexpected(parse_error::error);
1999
245k
    }
2000
343k
    return it;
2001
589k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NS1_12function_refIFbNDTcl4implISO_EEE4typeEENS1_12fnref_detail11qual_fn_sigISX_E8functionEEE
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NS1_12function_refIFbNDTcl4implISG_EEE4typeEENS1_12fnref_detail11qual_fn_sigISP_E8functionEEE
Line
Count
Source
1995
808k
{
1996
808k
    auto it = read_while_code_unit(range, pred);
1997
808k
    if (it == range.begin()) {
1998
625k
        return unexpected(parse_error::error);
1999
625k
    }
2000
182k
    return it;
2001
808k
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NS1_12function_refIFbNDTcl4implISL_EEE4typeEENS1_12fnref_detail11qual_fn_sigISU_E8functionEEE
Line
Count
Source
1995
460
{
1996
460
    auto it = read_while_code_unit(range, pred);
1997
460
    if (it == range.begin()) {
1998
460
        return unexpected(parse_error::error);
1999
460
    }
2000
0
    return it;
2001
460
}
_ZN3scn2v34impl21read_while1_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NS1_12function_refIFbNDTcl4implISD_EEE4typeEENS1_12fnref_detail11qual_fn_sigISM_E8functionEEE
Line
Count
Source
1995
197k
{
1996
197k
    auto it = read_while_code_unit(range, pred);
1997
197k
    if (it == range.begin()) {
1998
132k
        return unexpected(parse_error::error);
1999
132k
    }
2000
65.0k
    return it;
2001
197k
}
2002
2003
template <typename Range, typename CodeUnits>
2004
auto read_until_code_units(Range range, const CodeUnits& needle)
2005
    -> ranges::const_iterator_t<Range>
2006
96
{
2007
96
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
96
    if constexpr (ranges::common_range<Range>) {
2010
54
        return std::search(range.begin(), range.end(), needle.begin(),
2011
54
                           needle.end());
2012
54
    }
2013
54
    else {
2014
54
        auto first = range.begin();
2015
204
        while (true) {
2016
204
            auto it = first;
2017
300
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
300
                if (needle_it == needle.end()) {
2019
30
                    return first;
2020
30
                }
2021
270
                if (it == range.end()) {
2022
24
                    return it;
2023
24
                }
2024
246
                if (*it != *needle_it) {
2025
150
                    break;
2026
150
                }
2027
246
            }
2028
150
            ++first;
2029
150
        }
2030
54
    }
2031
96
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
_ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2006
54
{
2007
54
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
54
    if constexpr (ranges::common_range<Range>) {
2010
54
        return std::search(range.begin(), range.end(), needle.begin(),
2011
54
                           needle.end());
2012
54
    }
2013
54
    else {
2014
54
        auto first = range.begin();
2015
204
        while (true) {
2016
204
            auto it = first;
2017
300
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
300
                if (needle_it == needle.end()) {
2019
30
                    return first;
2020
30
                }
2021
270
                if (it == range.end()) {
2022
24
                    return it;
2023
24
                }
2024
246
                if (*it != *needle_it) {
2025
150
                    break;
2026
150
                }
2027
246
            }
2028
150
            ++first;
2029
150
        }
2030
54
    }
2031
54
}
_ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2006
42
{
2007
42
    static_assert(ranges::common_range<CodeUnits>);
2008
2009
42
    if constexpr (ranges::common_range<Range>) {
2010
42
        return std::search(range.begin(), range.end(), needle.begin(),
2011
42
                           needle.end());
2012
42
    }
2013
42
    else {
2014
42
        auto first = range.begin();
2015
42
        while (true) {
2016
42
            auto it = first;
2017
42
            for (auto needle_it = needle.begin();; ++it, (void)++needle_it) {
2018
42
                if (needle_it == needle.end()) {
2019
42
                    return first;
2020
42
                }
2021
42
                if (it == range.end()) {
2022
42
                    return it;
2023
42
                }
2024
42
                if (*it != *needle_it) {
2025
42
                    break;
2026
42
                }
2027
42
            }
2028
42
            ++first;
2029
42
        }
2030
42
    }
2031
42
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
2032
2033
template <typename Range, typename CodeUnits>
2034
auto read_while_code_units(Range range, const CodeUnits& needle)
2035
    -> ranges::const_iterator_t<Range>
2036
434
{
2037
434
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
434
    auto it = range.begin();
2040
512
    while (it != range.end()) {
2041
482
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
482
                                           needle.size());
2043
482
        if (!r) {
2044
88
            return it;
2045
88
        }
2046
394
        static_assert(
2047
394
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
394
        if (!std::equal(it, *r, needle.begin())) {
2049
316
            return it;
2050
316
        }
2051
78
        it = *r;
2052
78
    }
2053
30
    SCN_ENSURE(it == range.end());
2054
30
    return it;
2055
30
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
_ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENSt3__117basic_string_viewIcNSA_11char_traitsIcEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Line
Count
Source
2036
132
{
2037
132
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
132
    auto it = range.begin();
2040
168
    while (it != range.end()) {
2041
168
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
168
                                           needle.size());
2043
168
        if (!r) {
2044
6
            return it;
2045
6
        }
2046
162
        static_assert(
2047
162
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
162
        if (!std::equal(it, *r, needle.begin())) {
2049
126
            return it;
2050
126
        }
2051
36
        it = *r;
2052
36
    }
2053
0
    SCN_ENSURE(it == range.end());
2054
0
    return it;
2055
0
}
_ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
Line
Count
Source
2036
98
{
2037
98
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
98
    auto it = range.begin();
2040
140
    while (it != range.end()) {
2041
110
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
110
                                           needle.size());
2043
110
        if (!r) {
2044
22
            return it;
2045
22
        }
2046
88
        static_assert(
2047
88
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
88
        if (!std::equal(it, *r, needle.begin())) {
2049
46
            return it;
2050
46
        }
2051
42
        it = *r;
2052
42
    }
2053
30
    SCN_ENSURE(it == range.end());
2054
30
    return it;
2055
30
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEESL_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEESM_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEES8_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEES7_EEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENSt3__117basic_string_viewIwNSA_11char_traitsIwEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEESG_RKT0_
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEESI_RKT0_
_ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENSt3__117basic_string_viewIcNSD_11char_traitsIcEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
Line
Count
Source
2036
204
{
2037
204
    static_assert(ranges::common_range<CodeUnits>);
2038
2039
204
    auto it = range.begin();
2040
204
    while (it != range.end()) {
2041
204
        auto r = read_exactly_n_code_units(ranges::subrange{it, range.end()},
2042
204
                                           needle.size());
2043
204
        if (!r) {
2044
60
            return it;
2045
60
        }
2046
144
        static_assert(
2047
144
            std::is_same_v<decltype(it), detail::remove_cvref_t<decltype(*r)>>);
2048
144
        if (!std::equal(it, *r, needle.begin())) {
2049
144
            return it;
2050
144
        }
2051
0
        it = *r;
2052
0
    }
2053
0
    SCN_ENSURE(it == range.end());
2054
0
    return it;
2055
0
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_unitsINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENSt3__117basic_string_viewIwNSD_11char_traitsIwEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEESJ_RKT0_
2056
2057
template <typename Range>
2058
auto read_until_code_point(Range range, function_ref<bool(char32_t)> pred)
2059
    -> ranges::const_iterator_t<Range>
2060
27.1M
{
2061
27.1M
    auto it = range.begin();
2062
237M
    while (it != range.end()) {
2063
236M
        const auto val =
2064
236M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
236M
        if (SCN_LIKELY(val.is_valid())) {
2066
236M
            const auto cp = detail::decode_code_point_exhaustive(
2067
236M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
236M
            if (pred(cp)) {
2069
26.9M
                return it;
2070
26.9M
            }
2071
236M
        }
2072
209M
        it = val.iterator;
2073
209M
    }
2074
2075
205k
    return it;
2076
27.1M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2060
746
{
2061
746
    auto it = range.begin();
2062
19.6k
    while (it != range.end()) {
2063
19.4k
        const auto val =
2064
19.4k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
19.4k
        if (SCN_LIKELY(val.is_valid())) {
2066
18.6k
            const auto cp = detail::decode_code_point_exhaustive(
2067
18.6k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
18.6k
            if (pred(cp)) {
2069
522
                return it;
2070
522
            }
2071
18.6k
        }
2072
18.8k
        it = val.iterator;
2073
18.8k
    }
2074
2075
224
    return it;
2076
746
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
3.75M
{
2061
3.75M
    auto it = range.begin();
2062
9.77M
    while (it != range.end()) {
2063
9.72M
        const auto val =
2064
9.72M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
9.72M
        if (SCN_LIKELY(val.is_valid())) {
2066
9.68M
            const auto cp = detail::decode_code_point_exhaustive(
2067
9.68M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
9.68M
            if (pred(cp)) {
2069
3.70M
                return it;
2070
3.70M
            }
2071
9.68M
        }
2072
6.02M
        it = val.iterator;
2073
6.02M
    }
2074
2075
43.1k
    return it;
2076
3.75M
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2060
726
{
2061
726
    auto it = range.begin();
2062
9.55k
    while (it != range.end()) {
2063
8.99k
        const auto val =
2064
8.99k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
8.99k
        if (SCN_LIKELY(val.is_valid())) {
2066
7.93k
            const auto cp = detail::decode_code_point_exhaustive(
2067
7.93k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
7.93k
            if (pred(cp)) {
2069
168
                return it;
2070
168
            }
2071
7.93k
        }
2072
8.82k
        it = val.iterator;
2073
8.82k
    }
2074
2075
558
    return it;
2076
726
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2060
2.36k
{
2061
2.36k
    auto it = range.begin();
2062
319k
    while (it != range.end()) {
2063
319k
        const auto val =
2064
319k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
319k
        if (SCN_LIKELY(val.is_valid())) {
2066
318k
            const auto cp = detail::decode_code_point_exhaustive(
2067
318k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
318k
            if (pred(cp)) {
2069
2.20k
                return it;
2070
2.20k
            }
2071
318k
        }
2072
317k
        it = val.iterator;
2073
317k
    }
2074
2075
162
    return it;
2076
2.36k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_until_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2060
69.9k
{
2061
69.9k
    auto it = range.begin();
2062
71.3k
    while (it != range.end()) {
2063
70.4k
        const auto val =
2064
70.4k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
70.4k
        if (SCN_LIKELY(val.is_valid())) {
2066
70.4k
            const auto cp = detail::decode_code_point_exhaustive(
2067
70.4k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
70.4k
            if (pred(cp)) {
2069
69.1k
                return it;
2070
69.1k
            }
2071
70.4k
        }
2072
1.36k
        it = val.iterator;
2073
1.36k
    }
2074
2075
878
    return it;
2076
69.9k
}
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2060
78
{
2061
78
    auto it = range.begin();
2062
78
    while (it != range.end()) {
2063
78
        const auto val =
2064
78
            read_code_point_into(ranges::subrange{it, range.end()});
2065
78
        if (SCN_LIKELY(val.is_valid())) {
2066
78
            const auto cp = detail::decode_code_point_exhaustive(
2067
78
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
78
            if (pred(cp)) {
2069
78
                return it;
2070
78
            }
2071
78
        }
2072
0
        it = val.iterator;
2073
0
    }
2074
2075
0
    return it;
2076
78
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2060
15.4M
{
2061
15.4M
    auto it = range.begin();
2062
151M
    while (it != range.end()) {
2063
151M
        const auto val =
2064
151M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
151M
        if (SCN_LIKELY(val.is_valid())) {
2066
151M
            const auto cp = detail::decode_code_point_exhaustive(
2067
151M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
151M
            if (pred(cp)) {
2069
15.2M
                return it;
2070
15.2M
            }
2071
151M
        }
2072
135M
        it = val.iterator;
2073
135M
    }
2074
2075
139k
    return it;
2076
15.4M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESN_NS1_12function_refIFbDiEST_EE
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
7.88M
{
2061
7.88M
    auto it = range.begin();
2062
75.6M
    while (it != range.end()) {
2063
75.6M
        const auto val =
2064
75.6M
            read_code_point_into(ranges::subrange{it, range.end()});
2065
75.6M
        if (SCN_LIKELY(val.is_valid())) {
2066
75.6M
            const auto cp = detail::decode_code_point_exhaustive(
2067
75.6M
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
75.6M
            if (pred(cp)) {
2069
7.86M
                return it;
2070
7.86M
            }
2071
75.6M
        }
2072
67.7M
        it = val.iterator;
2073
67.7M
    }
2074
2075
20.1k
    return it;
2076
7.88M
}
_ZN3scn2v34impl21read_until_code_pointINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESK_NS1_12function_refIFbDiESQ_EE
Line
Count
Source
2060
294
{
2061
294
    auto it = range.begin();
2062
7.30k
    while (it != range.end()) {
2063
7.05k
        const auto val =
2064
7.05k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
7.05k
        if (SCN_LIKELY(val.is_valid())) {
2066
7.05k
            const auto cp = detail::decode_code_point_exhaustive(
2067
7.05k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
7.05k
            if (pred(cp)) {
2069
42
                return it;
2070
42
            }
2071
7.05k
        }
2072
7.01k
        it = val.iterator;
2073
7.01k
    }
2074
2075
252
    return it;
2076
294
}
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
1.85k
{
2061
1.85k
    auto it = range.begin();
2062
2.99k
    while (it != range.end()) {
2063
2.85k
        const auto val =
2064
2.85k
            read_code_point_into(ranges::subrange{it, range.end()});
2065
2.85k
        if (SCN_LIKELY(val.is_valid())) {
2066
2.85k
            const auto cp = detail::decode_code_point_exhaustive(
2067
2.85k
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
2.85k
            if (pred(cp)) {
2069
1.71k
                return it;
2070
1.71k
            }
2071
2.85k
        }
2072
1.13k
        it = val.iterator;
2073
1.13k
    }
2074
2075
142
    return it;
2076
1.85k
}
_ZN3scn2v34impl21read_until_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2060
724
{
2061
724
    auto it = range.begin();
2062
724
    while (it != range.end()) {
2063
724
        const auto val =
2064
724
            read_code_point_into(ranges::subrange{it, range.end()});
2065
724
        if (SCN_LIKELY(val.is_valid())) {
2066
724
            const auto cp = detail::decode_code_point_exhaustive(
2067
724
                std::basic_string_view<detail::char_t<Range>>{val.codepoint});
2068
724
            if (pred(cp)) {
2069
724
                return it;
2070
724
            }
2071
724
        }
2072
0
        it = val.iterator;
2073
0
    }
2074
2075
0
    return it;
2076
724
}
2077
2078
template <typename Range>
2079
auto read_while_code_point(Range range, function_ref<bool(char32_t)> pred)
2080
    -> ranges::const_iterator_t<Range>
2081
15.8M
{
2082
15.8M
    return read_until_code_point(range, std::not_fn(pred));
2083
15.8M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2081
626
{
2082
626
    return read_until_code_point(range, std::not_fn(pred));
2083
626
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
3.44M
{
2082
3.44M
    return read_until_code_point(range, std::not_fn(pred));
2083
3.44M
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2081
2.14k
{
2082
2.14k
    return read_until_code_point(range, std::not_fn(pred));
2083
2.14k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_NS1_12function_refIFbDiESO_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NS1_12function_refIFbDiESN_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_NS1_12function_refIFbDiESJ_EE
Unexecuted instantiation: _ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
_ZN3scn2v34impl21read_while_code_pointINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_NS1_12function_refIFbDiESG_EE
Line
Count
Source
2081
69.9k
{
2082
69.9k
    return read_until_code_point(range, std::not_fn(pred));
2083
69.9k
}
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NS1_12function_refIFbDiESK_EE
Line
Count
Source
2081
78
{
2082
78
    return read_until_code_point(range, std::not_fn(pred));
2083
78
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_NS1_12function_refIFbDiESI_EE
Line
Count
Source
2081
8.04M
{
2082
8.04M
    return read_until_code_point(range, std::not_fn(pred));
2083
8.04M
}
_ZN3scn2v34impl21read_while_code_pointINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
4.28M
{
2082
4.28M
    return read_until_code_point(range, std::not_fn(pred));
2083
4.28M
}
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
1.85k
{
2082
1.85k
    return read_until_code_point(range, std::not_fn(pred));
2083
1.85k
}
_ZN3scn2v34impl21read_while_code_pointINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_NS1_12function_refIFbDiESL_EE
Line
Count
Source
2081
724
{
2082
724
    return read_until_code_point(range, std::not_fn(pred));
2083
724
}
2084
2085
template <typename Range>
2086
auto read_until_classic_space(Range range) -> ranges::const_iterator_t<Range>
2087
12.7M
{
2088
12.7M
    if constexpr (ranges::contiguous_range<Range> &&
2089
12.7M
                  ranges::sized_range<Range> &&
2090
12.7M
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
11.2M
        auto buf = make_contiguous_buffer(range);
2092
11.2M
        auto it = find_classic_space_narrow_fast(buf.view());
2093
11.2M
        return ranges::next(range.begin(),
2094
11.2M
                            ranges::distance(buf.view().begin(), it));
2095
11.2M
    }
2096
11.2M
    else {
2097
11.2M
        auto it = range.begin();
2098
2099
11.2M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
302k
            auto seg = get_contiguous_beginning(range);
2101
302k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
302k
                seg_it != seg.end()) {
2103
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
0
            }
2105
302k
            ranges::advance(it, seg.size());
2106
302k
        }
2107
2108
302k
        return read_until_code_point(
2109
302k
            ranges::subrange{it, range.end()},
2110
203M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2110
2.06M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2110
7.93k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2110
66.9M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2110
7.05k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2110
133M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2110
304k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
11.2M
    }
2112
12.7M
}
Unexecuted instantiation: _ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2087
301k
{
2088
301k
    if constexpr (ranges::contiguous_range<Range> &&
2089
301k
                  ranges::sized_range<Range> &&
2090
301k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
301k
        auto buf = make_contiguous_buffer(range);
2092
301k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
301k
        return ranges::next(range.begin(),
2094
301k
                            ranges::distance(buf.view().begin(), it));
2095
301k
    }
2096
301k
    else {
2097
301k
        auto it = range.begin();
2098
2099
301k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
301k
            auto seg = get_contiguous_beginning(range);
2101
301k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
301k
                seg_it != seg.end()) {
2103
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
0
            }
2105
301k
            ranges::advance(it, seg.size());
2106
301k
        }
2107
2108
301k
        return read_until_code_point(
2109
301k
            ranges::subrange{it, range.end()},
2110
301k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
301k
    }
2112
301k
}
_ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2087
726
{
2088
726
    if constexpr (ranges::contiguous_range<Range> &&
2089
726
                  ranges::sized_range<Range> &&
2090
726
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
726
        auto buf = make_contiguous_buffer(range);
2092
726
        auto it = find_classic_space_narrow_fast(buf.view());
2093
726
        return ranges::next(range.begin(),
2094
726
                            ranges::distance(buf.view().begin(), it));
2095
726
    }
2096
726
    else {
2097
726
        auto it = range.begin();
2098
2099
726
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
726
            auto seg = get_contiguous_beginning(range);
2101
726
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
726
                seg_it != seg.end()) {
2103
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
0
            }
2105
726
            ranges::advance(it, seg.size());
2106
726
        }
2107
2108
726
        return read_until_code_point(
2109
726
            ranges::subrange{it, range.end()},
2110
726
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
726
    }
2112
726
}
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2087
534k
{
2088
534k
    if constexpr (ranges::contiguous_range<Range> &&
2089
534k
                  ranges::sized_range<Range> &&
2090
534k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
534k
        auto buf = make_contiguous_buffer(range);
2092
534k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
534k
        return ranges::next(range.begin(),
2094
534k
                            ranges::distance(buf.view().begin(), it));
2095
534k
    }
2096
534k
    else {
2097
534k
        auto it = range.begin();
2098
2099
534k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
534k
            auto seg = get_contiguous_beginning(range);
2101
534k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
534k
                seg_it != seg.end()) {
2103
534k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
534k
            }
2105
534k
            ranges::advance(it, seg.size());
2106
534k
        }
2107
2108
534k
        return read_until_code_point(
2109
534k
            ranges::subrange{it, range.end()},
2110
534k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
534k
    }
2112
534k
}
Unexecuted instantiation: _ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2087
3.60M
{
2088
3.60M
    if constexpr (ranges::contiguous_range<Range> &&
2089
3.60M
                  ranges::sized_range<Range> &&
2090
3.60M
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
3.60M
        auto buf = make_contiguous_buffer(range);
2092
3.60M
        auto it = find_classic_space_narrow_fast(buf.view());
2093
3.60M
        return ranges::next(range.begin(),
2094
3.60M
                            ranges::distance(buf.view().begin(), it));
2095
3.60M
    }
2096
3.60M
    else {
2097
3.60M
        auto it = range.begin();
2098
2099
3.60M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
3.60M
            auto seg = get_contiguous_beginning(range);
2101
3.60M
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
3.60M
                seg_it != seg.end()) {
2103
3.60M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
3.60M
            }
2105
3.60M
            ranges::advance(it, seg.size());
2106
3.60M
        }
2107
2108
3.60M
        return read_until_code_point(
2109
3.60M
            ranges::subrange{it, range.end()},
2110
3.60M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
3.60M
    }
2112
3.60M
}
_ZN3scn2v34impl24read_until_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2087
294
{
2088
294
    if constexpr (ranges::contiguous_range<Range> &&
2089
294
                  ranges::sized_range<Range> &&
2090
294
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
294
        auto buf = make_contiguous_buffer(range);
2092
294
        auto it = find_classic_space_narrow_fast(buf.view());
2093
294
        return ranges::next(range.begin(),
2094
294
                            ranges::distance(buf.view().begin(), it));
2095
294
    }
2096
294
    else {
2097
294
        auto it = range.begin();
2098
2099
294
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
294
            auto seg = get_contiguous_beginning(range);
2101
294
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
294
                seg_it != seg.end()) {
2103
294
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
294
            }
2105
294
            ranges::advance(it, seg.size());
2106
294
        }
2107
2108
294
        return read_until_code_point(
2109
294
            ranges::subrange{it, range.end()},
2110
294
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
294
    }
2112
294
}
_ZN3scn2v34impl24read_until_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2087
7.23M
{
2088
7.23M
    if constexpr (ranges::contiguous_range<Range> &&
2089
7.23M
                  ranges::sized_range<Range> &&
2090
7.23M
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
7.23M
        auto buf = make_contiguous_buffer(range);
2092
7.23M
        auto it = find_classic_space_narrow_fast(buf.view());
2093
7.23M
        return ranges::next(range.begin(),
2094
7.23M
                            ranges::distance(buf.view().begin(), it));
2095
7.23M
    }
2096
7.23M
    else {
2097
7.23M
        auto it = range.begin();
2098
2099
7.23M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
7.23M
            auto seg = get_contiguous_beginning(range);
2101
7.23M
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
7.23M
                seg_it != seg.end()) {
2103
7.23M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
7.23M
            }
2105
7.23M
            ranges::advance(it, seg.size());
2106
7.23M
        }
2107
2108
7.23M
        return read_until_code_point(
2109
7.23M
            ranges::subrange{it, range.end()},
2110
7.23M
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
7.23M
    }
2112
7.23M
}
_ZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2087
947k
{
2088
947k
    if constexpr (ranges::contiguous_range<Range> &&
2089
947k
                  ranges::sized_range<Range> &&
2090
947k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
947k
        auto buf = make_contiguous_buffer(range);
2092
947k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
947k
        return ranges::next(range.begin(),
2094
947k
                            ranges::distance(buf.view().begin(), it));
2095
947k
    }
2096
947k
    else {
2097
947k
        auto it = range.begin();
2098
2099
947k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
947k
            auto seg = get_contiguous_beginning(range);
2101
947k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
947k
                seg_it != seg.end()) {
2103
947k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
947k
            }
2105
947k
            ranges::advance(it, seg.size());
2106
947k
        }
2107
2108
947k
        return read_until_code_point(
2109
947k
            ranges::subrange{it, range.end()},
2110
947k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
947k
    }
2112
947k
}
_ZN3scn2v34impl24read_until_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2087
159k
{
2088
159k
    if constexpr (ranges::contiguous_range<Range> &&
2089
159k
                  ranges::sized_range<Range> &&
2090
159k
                  std::is_same_v<detail::char_t<Range>, char>) {
2091
159k
        auto buf = make_contiguous_buffer(range);
2092
159k
        auto it = find_classic_space_narrow_fast(buf.view());
2093
159k
        return ranges::next(range.begin(),
2094
159k
                            ranges::distance(buf.view().begin(), it));
2095
159k
    }
2096
159k
    else {
2097
159k
        auto it = range.begin();
2098
2099
159k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2100
159k
            auto seg = get_contiguous_beginning(range);
2101
159k
            if (auto seg_it = find_classic_space_narrow_fast(seg);
2102
159k
                seg_it != seg.end()) {
2103
159k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2104
159k
            }
2105
159k
            ranges::advance(it, seg.size());
2106
159k
        }
2107
2108
159k
        return read_until_code_point(
2109
159k
            ranges::subrange{it, range.end()},
2110
159k
            [](char32_t cp) noexcept { return is_cp_space(cp); });
2111
159k
    }
2112
159k
}
2113
2114
template <typename Range>
2115
auto read_while_classic_space(Range range) -> ranges::const_iterator_t<Range>
2116
19.8M
{
2117
19.8M
    if constexpr (ranges::contiguous_range<Range> &&
2118
19.8M
                  ranges::sized_range<Range> &&
2119
19.8M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
16.0M
        auto buf = make_contiguous_buffer(range);
2121
16.0M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
16.0M
        return ranges::next(range.begin(),
2123
16.0M
                            ranges::distance(buf.view().begin(), it));
2124
16.0M
    }
2125
16.0M
    else {
2126
16.0M
        auto it = range.begin();
2127
2128
16.0M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
3.67M
            auto seg = get_contiguous_beginning(range);
2130
3.67M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
3.67M
                seg_it != seg.end()) {
2132
226k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
226k
            }
2134
3.45M
            ranges::advance(it, seg.size());
2135
3.45M
        }
2136
2137
3.45M
        return read_while_code_point(
2138
33.1M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2138
1.23k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
7.61M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_ENKUlDiE_clEDi
Unexecuted instantiation: _ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
_ZZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_ENKUlDiE_clEDi
Line
Count
Source
2138
70.4k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_ENKUlDiE_clEDi
Line
Count
Source
2138
78
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_ENKUlDiE_clEDi
Line
Count
Source
2138
16.7M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
8.70M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
2.85k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
_ZZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_ENKUlDiE_clEDi
Line
Count
Source
2138
724
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
16.0M
    }
2140
19.8M
}
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2116
428
{
2117
428
    if constexpr (ranges::contiguous_range<Range> &&
2118
428
                  ranges::sized_range<Range> &&
2119
428
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
428
        auto buf = make_contiguous_buffer(range);
2121
428
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
428
        return ranges::next(range.begin(),
2123
428
                            ranges::distance(buf.view().begin(), it));
2124
428
    }
2125
428
    else {
2126
428
        auto it = range.begin();
2127
2128
428
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
428
            auto seg = get_contiguous_beginning(range);
2130
428
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
428
                seg_it != seg.end()) {
2132
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
0
            }
2134
428
            ranges::advance(it, seg.size());
2135
428
        }
2136
2137
428
        return read_while_code_point(
2138
428
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
428
    }
2140
428
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2116
3.78M
{
2117
3.78M
    if constexpr (ranges::contiguous_range<Range> &&
2118
3.78M
                  ranges::sized_range<Range> &&
2119
3.78M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
3.78M
        auto buf = make_contiguous_buffer(range);
2121
3.78M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
3.78M
        return ranges::next(range.begin(),
2123
3.78M
                            ranges::distance(buf.view().begin(), it));
2124
3.78M
    }
2125
3.78M
    else {
2126
3.78M
        auto it = range.begin();
2127
2128
3.78M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
3.78M
            auto seg = get_contiguous_beginning(range);
2130
3.78M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
3.78M
                seg_it != seg.end()) {
2132
3.78M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
3.78M
            }
2134
3.78M
            ranges::advance(it, seg.size());
2135
3.78M
        }
2136
2137
3.78M
        return read_while_code_point(
2138
3.78M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
3.78M
    }
2140
3.78M
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
3.67M
{
2117
3.67M
    if constexpr (ranges::contiguous_range<Range> &&
2118
3.67M
                  ranges::sized_range<Range> &&
2119
3.67M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
3.67M
        auto buf = make_contiguous_buffer(range);
2121
3.67M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
3.67M
        return ranges::next(range.begin(),
2123
3.67M
                            ranges::distance(buf.view().begin(), it));
2124
3.67M
    }
2125
3.67M
    else {
2126
3.67M
        auto it = range.begin();
2127
2128
3.67M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
3.67M
            auto seg = get_contiguous_beginning(range);
2130
3.67M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
3.67M
                seg_it != seg.end()) {
2132
226k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
226k
            }
2134
3.44M
            ranges::advance(it, seg.size());
2135
3.44M
        }
2136
2137
3.44M
        return read_while_code_point(
2138
3.44M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
3.67M
    }
2140
3.67M
}
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESI_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESD_
Unexecuted instantiation: _ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEESC_
_ZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2116
69.9k
{
2117
69.9k
    if constexpr (ranges::contiguous_range<Range> &&
2118
69.9k
                  ranges::sized_range<Range> &&
2119
69.9k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
69.9k
        auto buf = make_contiguous_buffer(range);
2121
69.9k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
69.9k
        return ranges::next(range.begin(),
2123
69.9k
                            ranges::distance(buf.view().begin(), it));
2124
69.9k
    }
2125
69.9k
    else {
2126
69.9k
        auto it = range.begin();
2127
2128
69.9k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
69.9k
            auto seg = get_contiguous_beginning(range);
2130
69.9k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
69.9k
                seg_it != seg.end()) {
2132
69.9k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
69.9k
            }
2134
69.9k
            ranges::advance(it, seg.size());
2135
69.9k
        }
2136
2137
69.9k
        return read_while_code_point(
2138
69.9k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
69.9k
    }
2140
69.9k
}
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_
Line
Count
Source
2116
78
{
2117
78
    if constexpr (ranges::contiguous_range<Range> &&
2118
78
                  ranges::sized_range<Range> &&
2119
78
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
78
        auto buf = make_contiguous_buffer(range);
2121
78
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
78
        return ranges::next(range.begin(),
2123
78
                            ranges::distance(buf.view().begin(), it));
2124
78
    }
2125
78
    else {
2126
78
        auto it = range.begin();
2127
2128
78
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
78
            auto seg = get_contiguous_beginning(range);
2130
78
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
78
                seg_it != seg.end()) {
2132
78
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
78
            }
2134
78
            ranges::advance(it, seg.size());
2135
78
        }
2136
2137
78
        return read_while_code_point(
2138
78
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
78
    }
2140
78
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESC_
Line
Count
Source
2116
8.04M
{
2117
8.04M
    if constexpr (ranges::contiguous_range<Range> &&
2118
8.04M
                  ranges::sized_range<Range> &&
2119
8.04M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
8.04M
        auto buf = make_contiguous_buffer(range);
2121
8.04M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
8.04M
        return ranges::next(range.begin(),
2123
8.04M
                            ranges::distance(buf.view().begin(), it));
2124
8.04M
    }
2125
8.04M
    else {
2126
8.04M
        auto it = range.begin();
2127
2128
8.04M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
8.04M
            auto seg = get_contiguous_beginning(range);
2130
8.04M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
8.04M
                seg_it != seg.end()) {
2132
8.04M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
8.04M
            }
2134
8.04M
            ranges::advance(it, seg.size());
2135
8.04M
        }
2136
2137
8.04M
        return read_while_code_point(
2138
8.04M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
8.04M
    }
2140
8.04M
}
_ZN3scn2v34impl24read_while_classic_spaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
4.28M
{
2117
4.28M
    if constexpr (ranges::contiguous_range<Range> &&
2118
4.28M
                  ranges::sized_range<Range> &&
2119
4.28M
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
4.28M
        auto buf = make_contiguous_buffer(range);
2121
4.28M
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
4.28M
        return ranges::next(range.begin(),
2123
4.28M
                            ranges::distance(buf.view().begin(), it));
2124
4.28M
    }
2125
4.28M
    else {
2126
4.28M
        auto it = range.begin();
2127
2128
4.28M
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
4.28M
            auto seg = get_contiguous_beginning(range);
2130
4.28M
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
4.28M
                seg_it != seg.end()) {
2132
4.28M
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
4.28M
            }
2134
4.28M
            ranges::advance(it, seg.size());
2135
4.28M
        }
2136
2137
4.28M
        return read_while_code_point(
2138
4.28M
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
4.28M
    }
2140
4.28M
}
_ZN3scn2v34impl24read_while_classic_spaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEEDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEESA_
Line
Count
Source
2116
5.65k
{
2117
5.65k
    if constexpr (ranges::contiguous_range<Range> &&
2118
5.65k
                  ranges::sized_range<Range> &&
2119
5.65k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
5.65k
        auto buf = make_contiguous_buffer(range);
2121
5.65k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
5.65k
        return ranges::next(range.begin(),
2123
5.65k
                            ranges::distance(buf.view().begin(), it));
2124
5.65k
    }
2125
5.65k
    else {
2126
5.65k
        auto it = range.begin();
2127
2128
5.65k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
5.65k
            auto seg = get_contiguous_beginning(range);
2130
5.65k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
5.65k
                seg_it != seg.end()) {
2132
5.65k
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
5.65k
            }
2134
5.65k
            ranges::advance(it, seg.size());
2135
5.65k
        }
2136
2137
5.65k
        return read_while_code_point(
2138
5.65k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
5.65k
    }
2140
5.65k
}
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
1.85k
{
2117
1.85k
    if constexpr (ranges::contiguous_range<Range> &&
2118
1.85k
                  ranges::sized_range<Range> &&
2119
1.85k
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
1.85k
        auto buf = make_contiguous_buffer(range);
2121
1.85k
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
1.85k
        return ranges::next(range.begin(),
2123
1.85k
                            ranges::distance(buf.view().begin(), it));
2124
1.85k
    }
2125
1.85k
    else {
2126
1.85k
        auto it = range.begin();
2127
2128
1.85k
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
1.85k
            auto seg = get_contiguous_beginning(range);
2130
1.85k
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
1.85k
                seg_it != seg.end()) {
2132
0
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
0
            }
2134
1.85k
            ranges::advance(it, seg.size());
2135
1.85k
        }
2136
2137
1.85k
        return read_while_code_point(
2138
1.85k
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
1.85k
    }
2140
1.85k
}
_ZN3scn2v34impl24read_while_classic_spaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEEDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESF_
Line
Count
Source
2116
724
{
2117
724
    if constexpr (ranges::contiguous_range<Range> &&
2118
724
                  ranges::sized_range<Range> &&
2119
724
                  std::is_same_v<detail::char_t<Range>, char>) {
2120
724
        auto buf = make_contiguous_buffer(range);
2121
724
        auto it = find_classic_nonspace_narrow_fast(buf.view());
2122
724
        return ranges::next(range.begin(),
2123
724
                            ranges::distance(buf.view().begin(), it));
2124
724
    }
2125
724
    else {
2126
724
        auto it = range.begin();
2127
2128
724
        if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2129
724
            auto seg = get_contiguous_beginning(range);
2130
724
            if (auto seg_it = find_classic_nonspace_narrow_fast(seg);
2131
724
                seg_it != seg.end()) {
2132
724
                return ranges::next(it, ranges::distance(seg.begin(), seg_it));
2133
724
            }
2134
724
            ranges::advance(it, seg.size());
2135
724
        }
2136
2137
724
        return read_while_code_point(
2138
724
            range, [](char32_t cp) noexcept { return is_cp_space(cp); });
2139
724
    }
2140
724
}
2141
2142
template <typename Range>
2143
auto read_matching_code_unit(Range range, detail::char_t<Range> ch)
2144
    -> parse_expected<ranges::const_iterator_t<Range>>
2145
3.05M
{
2146
3.05M
    auto it = read_code_unit(range);
2147
3.05M
    if (SCN_UNLIKELY(!it)) {
2148
12.6k
        return unexpected(make_eof_parse_error(it.error()));
2149
12.6k
    }
2150
2151
3.04M
    if (SCN_UNLIKELY(*range.begin() !=
2152
3.04M
                     static_cast<detail::char_t<Range>>(ch))) {
2153
2.24M
        return unexpected(parse_error::error);
2154
2.24M
    }
2155
2156
795k
    return *it;
2157
3.04M
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
Line
Count
Source
2145
1.70M
{
2146
1.70M
    auto it = read_code_unit(range);
2147
1.70M
    if (SCN_UNLIKELY(!it)) {
2148
8.37k
        return unexpected(make_eof_parse_error(it.error()));
2149
8.37k
    }
2150
2151
1.69M
    if (SCN_UNLIKELY(*range.begin() !=
2152
1.69M
                     static_cast<detail::char_t<Range>>(ch))) {
2153
1.22M
        return unexpected(parse_error::error);
2154
1.22M
    }
2155
2156
470k
    return *it;
2157
1.69M
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2145
34
{
2146
34
    auto it = read_code_unit(range);
2147
34
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
34
    if (SCN_UNLIKELY(*range.begin() !=
2152
34
                     static_cast<detail::char_t<Range>>(ch))) {
2153
34
        return unexpected(parse_error::error);
2154
34
    }
2155
2156
0
    return *it;
2157
34
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2145
905k
{
2146
905k
    auto it = read_code_unit(range);
2147
905k
    if (SCN_UNLIKELY(!it)) {
2148
3.24k
        return unexpected(make_eof_parse_error(it.error()));
2149
3.24k
    }
2150
2151
902k
    if (SCN_UNLIKELY(*range.begin() !=
2152
902k
                     static_cast<detail::char_t<Range>>(ch))) {
2153
578k
        return unexpected(parse_error::error);
2154
578k
    }
2155
2156
323k
    return *it;
2157
902k
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NDTcl4implISO_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NDTcl4implISG_EEE4typeE
Line
Count
Source
2145
267k
{
2146
267k
    auto it = read_code_unit(range);
2147
267k
    if (SCN_UNLIKELY(!it)) {
2148
708
        return unexpected(make_eof_parse_error(it.error()));
2149
708
    }
2150
2151
267k
    if (SCN_UNLIKELY(*range.begin() !=
2152
267k
                     static_cast<detail::char_t<Range>>(ch))) {
2153
266k
        return unexpected(parse_error::error);
2154
266k
    }
2155
2156
857
    return *it;
2157
267k
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NDTcl4implISL_EEE4typeE
Line
Count
Source
2145
30
{
2146
30
    auto it = read_code_unit(range);
2147
30
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
30
    if (SCN_UNLIKELY(*range.begin() !=
2152
30
                     static_cast<detail::char_t<Range>>(ch))) {
2153
30
        return unexpected(parse_error::error);
2154
30
    }
2155
2156
0
    return *it;
2157
30
}
_ZN3scn2v34impl23read_matching_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NDTcl4implISD_EEE4typeE
Line
Count
Source
2145
178k
{
2146
178k
    auto it = read_code_unit(range);
2147
178k
    if (SCN_UNLIKELY(!it)) {
2148
282
        return unexpected(make_eof_parse_error(it.error()));
2149
282
    }
2150
2151
178k
    if (SCN_UNLIKELY(*range.begin() !=
2152
178k
                     static_cast<detail::char_t<Range>>(ch))) {
2153
177k
        return unexpected(parse_error::error);
2154
177k
    }
2155
2156
566
    return *it;
2157
178k
}
_ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2145
540
{
2146
540
    auto it = read_code_unit(range);
2147
540
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
540
    if (SCN_UNLIKELY(*range.begin() !=
2152
540
                     static_cast<detail::char_t<Range>>(ch))) {
2153
540
        return unexpected(parse_error::error);
2154
540
    }
2155
2156
0
    return *it;
2157
540
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
_ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NDTcl4implISF_EEE4typeE
Line
Count
Source
2145
240
{
2146
240
    auto it = read_code_unit(range);
2147
240
    if (SCN_UNLIKELY(!it)) {
2148
0
        return unexpected(make_eof_parse_error(it.error()));
2149
0
    }
2150
2151
240
    if (SCN_UNLIKELY(*range.begin() !=
2152
240
                     static_cast<detail::char_t<Range>>(ch))) {
2153
240
        return unexpected(parse_error::error);
2154
240
    }
2155
2156
0
    return *it;
2157
240
}
Unexecuted instantiation: _ZN3scn2v34impl23read_matching_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NDTcl4implISI_EEE4typeE
2158
2159
template <typename Range>
2160
auto read_matching_code_point(Range range, char32_t cp)
2161
    -> parse_expected<ranges::const_iterator_t<Range>>
2162
{
2163
    auto val = read_code_point_into(range);
2164
    if (!val.is_valid()) {
2165
        return unexpected(parse_error::error);
2166
    }
2167
    auto decoded_cp = decode_code_point_exhaustive(val.codepoint);
2168
    if (SCN_UNLIKELY(cp != decoded_cp)) {
2169
        return unexpected(parse_error::error);
2170
    }
2171
    return val.iterator;
2172
}
2173
2174
template <typename Range>
2175
auto read_matching_string(Range range,
2176
                          std::basic_string_view<detail::char_t<Range>> str)
2177
    -> parse_expected<ranges::const_iterator_t<Range>>
2178
68
{
2179
68
    SCN_TRY(it, read_exactly_n_code_units(
2180
46
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
46
                    .transform_error(make_eof_parse_error));
2182
2183
46
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
46
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
46
        return unexpected(parse_error::error);
2186
46
    }
2187
0
    return it;
2188
46
}
_ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2178
20
{
2179
20
    SCN_TRY(it, read_exactly_n_code_units(
2180
8
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
8
                    .transform_error(make_eof_parse_error));
2182
2183
8
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
8
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
8
        return unexpected(parse_error::error);
2186
8
    }
2187
0
    return it;
2188
8
}
_ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2178
24
{
2179
24
    SCN_TRY(it, read_exactly_n_code_units(
2180
22
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
22
                    .transform_error(make_eof_parse_error));
2182
2183
22
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
22
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
22
        return unexpected(parse_error::error);
2186
22
    }
2187
0
    return it;
2188
22
}
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
_ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewINDTcl4implISF_EEE4typeENSD_11char_traitsISN_EEEE
Line
Count
Source
2178
12
{
2179
12
    SCN_TRY(it, read_exactly_n_code_units(
2180
6
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
6
                    .transform_error(make_eof_parse_error));
2182
2183
6
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
6
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
6
        return unexpected(parse_error::error);
2186
6
    }
2187
0
    return it;
2188
6
}
_ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewINDTcl4implISD_EEE4typeENSB_11char_traitsISL_EEEE
Line
Count
Source
2178
12
{
2179
12
    SCN_TRY(it, read_exactly_n_code_units(
2180
10
                    range, static_cast<std::ptrdiff_t>(str.size()))
2181
10
                    .transform_error(make_eof_parse_error));
2182
2183
10
    auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2184
10
    if (SCN_UNLIKELY(sv.view() != str)) {
2185
10
        return unexpected(parse_error::error);
2186
10
    }
2187
0
    return it;
2188
10
}
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewINDTcl4implISI_EEE4typeENSG_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl20read_matching_stringINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewINDTcl4implISG_EEE4typeENSE_11char_traitsISO_EEEE
2189
2190
template <typename Range>
2191
auto read_matching_string_classic(Range range, std::string_view str)
2192
    -> parse_expected<ranges::const_iterator_t<Range>>
2193
23.8k
{
2194
23.8k
    SCN_TRY(it, read_exactly_n_code_units(
2195
23.4k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
23.4k
                    .transform_error(make_eof_parse_error));
2197
2198
23.4k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
21.1k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
21.1k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
2.27k
            return unexpected(parse_error::error);
2202
2.27k
        }
2203
0
        return it;
2204
2.27k
    }
2205
21.1k
    else {
2206
21.1k
        auto range_it = range.begin();
2207
21.1k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
21.1k
            if (SCN_UNLIKELY(*range_it !=
2209
21.1k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
21.1k
                return unexpected(parse_error::error);
2211
21.1k
            }
2212
21.1k
        }
2213
0
        return it;
2214
21.1k
    }
2215
23.4k
}
_ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2193
1.90k
{
2194
1.90k
    SCN_TRY(it, read_exactly_n_code_units(
2195
1.80k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
1.80k
                    .transform_error(make_eof_parse_error));
2197
2198
1.80k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
1.80k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
1.80k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
1.80k
            return unexpected(parse_error::error);
2202
1.80k
        }
2203
0
        return it;
2204
1.80k
    }
2205
1.80k
    else {
2206
1.80k
        auto range_it = range.begin();
2207
1.80k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
1.80k
            if (SCN_UNLIKELY(*range_it !=
2209
1.80k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
1.80k
                return unexpected(parse_error::error);
2211
1.80k
            }
2212
1.80k
        }
2213
1.80k
        return it;
2214
1.80k
    }
2215
1.80k
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
_ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2193
588
{
2194
588
    SCN_TRY(it, read_exactly_n_code_units(
2195
472
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
472
                    .transform_error(make_eof_parse_error));
2197
2198
472
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
472
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
472
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
472
            return unexpected(parse_error::error);
2202
472
        }
2203
0
        return it;
2204
472
    }
2205
472
    else {
2206
472
        auto range_it = range.begin();
2207
472
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
472
            if (SCN_UNLIKELY(*range_it !=
2209
472
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
472
                return unexpected(parse_error::error);
2211
472
            }
2212
472
        }
2213
472
        return it;
2214
472
    }
2215
472
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2193
21.0k
{
2194
21.0k
    SCN_TRY(it, read_exactly_n_code_units(
2195
20.9k
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
20.9k
                    .transform_error(make_eof_parse_error));
2197
2198
20.9k
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
20.9k
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
20.9k
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
20.9k
            return unexpected(parse_error::error);
2202
20.9k
        }
2203
20.9k
        return it;
2204
20.9k
    }
2205
20.9k
    else {
2206
20.9k
        auto range_it = range.begin();
2207
20.9k
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
20.9k
            if (SCN_UNLIKELY(*range_it !=
2209
20.9k
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
20.9k
                return unexpected(parse_error::error);
2211
20.9k
            }
2212
20.9k
        }
2213
0
        return it;
2214
20.9k
    }
2215
20.9k
}
_ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2193
236
{
2194
236
    SCN_TRY(it, read_exactly_n_code_units(
2195
188
                    range, static_cast<std::ptrdiff_t>(str.size()))
2196
188
                    .transform_error(make_eof_parse_error));
2197
2198
188
    if constexpr (std::is_same_v<detail::char_t<Range>, char>) {
2199
188
        auto sv = make_contiguous_buffer(ranges::subrange{range.begin(), it});
2200
188
        if (SCN_UNLIKELY(sv.view() != str)) {
2201
188
            return unexpected(parse_error::error);
2202
188
        }
2203
188
        return it;
2204
188
    }
2205
188
    else {
2206
188
        auto range_it = range.begin();
2207
188
        for (size_t i = 0; i < str.size(); ++i, (void)++range_it) {
2208
188
            if (SCN_UNLIKELY(*range_it !=
2209
188
                             static_cast<detail::char_t<Range>>(str[i]))) {
2210
188
                return unexpected(parse_error::error);
2211
188
            }
2212
188
        }
2213
0
        return it;
2214
188
    }
2215
188
}
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl28read_matching_string_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
2216
2217
// Ripped from fast_float
2218
constexpr bool fast_streq_nocase(const char* a, const char* b, size_t len)
2219
4.68M
{
2220
4.68M
    unsigned char running_diff{0};
2221
16.1M
    for (size_t i = 0; i < len; ++i) {
2222
11.4M
        running_diff |= static_cast<unsigned char>(a[i] ^ b[i]);
2223
11.4M
    }
2224
4.68M
    return running_diff == 0 || running_diff == 32;
2225
4.68M
}
2226
2227
template <typename Range>
2228
auto read_matching_string_classic_nocase(Range range, std::string_view str)
2229
    -> parse_expected<ranges::const_iterator_t<Range>>
2230
12.1M
{
2231
12.1M
    using char_type = detail::char_t<Range>;
2232
2233
12.1M
    if constexpr (ranges::contiguous_range<Range> &&
2234
12.1M
                  std::is_same_v<char_type, char>) {
2235
7.37M
        if (range.size() < str.size()) {
2236
56.6k
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
56.6k
        }
2238
4.68M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
4.55M
            return unexpected(parse_error::error);
2240
4.55M
        }
2241
124k
        return ranges::next(range.begin(), str.size());
2242
4.68M
    }
2243
7.37M
    else {
2244
8.83M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
8.83M
            if (ch < 'A' || ch > 'Z') {
2246
8.74M
                return ch;
2247
8.74M
            }
2248
85.0k
            return static_cast<char_type>(ch +
2249
85.0k
                                          static_cast<char_type>('a' - 'A'));
2250
8.83M
        };
Unexecuted instantiation: _ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2244
6.48M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
6.48M
            if (ch < 'A' || ch > 'Z') {
2246
6.41M
                return ch;
2247
6.41M
            }
2248
69.9k
            return static_cast<char_type>(ch +
2249
69.9k
                                          static_cast<char_type>('a' - 'A'));
2250
6.48M
        };
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
2244
944
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
944
            if (ch < 'A' || ch > 'Z') {
2246
944
                return ch;
2247
944
            }
2248
0
            return static_cast<char_type>(ch +
2249
0
                                          static_cast<char_type>('a' - 'A'));
2250
944
        };
Unexecuted instantiation: _ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2244
1.15M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.15M
            if (ch < 'A' || ch > 'Z') {
2246
1.14M
                return ch;
2247
1.14M
            }
2248
7.47k
            return static_cast<char_type>(ch +
2249
7.47k
                                          static_cast<char_type>('a' - 'A'));
2250
1.15M
        };
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2244
448
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
448
            if (ch < 'A' || ch > 'Z') {
2246
448
                return ch;
2247
448
            }
2248
0
            return static_cast<char_type>(ch +
2249
0
                                          static_cast<char_type>('a' - 'A'));
2250
448
        };
_ZZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
2244
1.19M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.19M
            if (ch < 'A' || ch > 'Z') {
2246
1.18M
                return ch;
2247
1.18M
            }
2248
7.59k
            return static_cast<char_type>(ch +
2249
7.59k
                                          static_cast<char_type>('a' - 'A'));
2250
1.19M
        };
2251
2252
7.37M
        SCN_TRY(it, read_exactly_n_code_units(
2253
7.17M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
7.17M
                        .transform_error(make_eof_parse_error));
2255
2256
7.17M
        if (SCN_UNLIKELY(!std::equal(
2257
7.17M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
7.17M
                    return ascii_tolower(a) ==
2259
7.17M
                           static_cast<detail::char_t<Range>>(b);
2260
7.17M
                }))) {
2261
7.04M
            return unexpected(parse_error::error);
2262
7.04M
        }
2263
2264
128k
        return it;
2265
7.17M
    }
2266
12.1M
}
Unexecuted instantiation: _ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2230
5.08M
{
2231
5.08M
    using char_type = detail::char_t<Range>;
2232
2233
5.08M
    if constexpr (ranges::contiguous_range<Range> &&
2234
5.08M
                  std::is_same_v<char_type, char>) {
2235
5.08M
        if (range.size() < str.size()) {
2236
5.08M
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
5.08M
        }
2238
5.08M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
5.08M
            return unexpected(parse_error::error);
2240
5.08M
        }
2241
5.08M
        return ranges::next(range.begin(), str.size());
2242
5.08M
    }
2243
5.08M
    else {
2244
5.08M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
5.08M
            if (ch < 'A' || ch > 'Z') {
2246
5.08M
                return ch;
2247
5.08M
            }
2248
5.08M
            return static_cast<char_type>(ch +
2249
5.08M
                                          static_cast<char_type>('a' - 'A'));
2250
5.08M
        };
2251
2252
5.08M
        SCN_TRY(it, read_exactly_n_code_units(
2253
5.02M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
5.02M
                        .transform_error(make_eof_parse_error));
2255
2256
5.02M
        if (SCN_UNLIKELY(!std::equal(
2257
5.02M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
5.02M
                    return ascii_tolower(a) ==
2259
5.02M
                           static_cast<detail::char_t<Range>>(b);
2260
5.02M
                }))) {
2261
4.89M
            return unexpected(parse_error::error);
2262
4.89M
        }
2263
2264
127k
        return it;
2265
5.02M
    }
2266
5.08M
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2230
1.12k
{
2231
1.12k
    using char_type = detail::char_t<Range>;
2232
2233
1.12k
    if constexpr (ranges::contiguous_range<Range> &&
2234
1.12k
                  std::is_same_v<char_type, char>) {
2235
1.12k
        if (range.size() < str.size()) {
2236
1.12k
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
1.12k
        }
2238
1.12k
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
1.12k
            return unexpected(parse_error::error);
2240
1.12k
        }
2241
1.12k
        return ranges::next(range.begin(), str.size());
2242
1.12k
    }
2243
1.12k
    else {
2244
1.12k
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.12k
            if (ch < 'A' || ch > 'Z') {
2246
1.12k
                return ch;
2247
1.12k
            }
2248
1.12k
            return static_cast<char_type>(ch +
2249
1.12k
                                          static_cast<char_type>('a' - 'A'));
2250
1.12k
        };
2251
2252
1.12k
        SCN_TRY(it, read_exactly_n_code_units(
2253
944
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
944
                        .transform_error(make_eof_parse_error));
2255
2256
944
        if (SCN_UNLIKELY(!std::equal(
2257
944
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
944
                    return ascii_tolower(a) ==
2259
944
                           static_cast<detail::char_t<Range>>(b);
2260
944
                }))) {
2261
944
            return unexpected(parse_error::error);
2262
944
        }
2263
2264
0
        return it;
2265
944
    }
2266
1.12k
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2230
4.73M
{
2231
4.73M
    using char_type = detail::char_t<Range>;
2232
2233
4.73M
    if constexpr (ranges::contiguous_range<Range> &&
2234
4.73M
                  std::is_same_v<char_type, char>) {
2235
4.73M
        if (range.size() < str.size()) {
2236
56.6k
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
56.6k
        }
2238
4.68M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
4.55M
            return unexpected(parse_error::error);
2240
4.55M
        }
2241
124k
        return ranges::next(range.begin(), str.size());
2242
4.68M
    }
2243
4.73M
    else {
2244
4.73M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
4.73M
            if (ch < 'A' || ch > 'Z') {
2246
4.73M
                return ch;
2247
4.73M
            }
2248
4.73M
            return static_cast<char_type>(ch +
2249
4.73M
                                          static_cast<char_type>('a' - 'A'));
2250
4.73M
        };
2251
2252
4.73M
        SCN_TRY(it, read_exactly_n_code_units(
2253
4.73M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
4.73M
                        .transform_error(make_eof_parse_error));
2255
2256
4.73M
        if (SCN_UNLIKELY(!std::equal(
2257
4.73M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
4.73M
                    return ascii_tolower(a) ==
2259
4.73M
                           static_cast<detail::char_t<Range>>(b);
2260
4.73M
                }))) {
2261
4.73M
            return unexpected(parse_error::error);
2262
4.73M
        }
2263
2264
4.73M
        return it;
2265
4.73M
    }
2266
4.73M
}
Unexecuted instantiation: _ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2230
1.12M
{
2231
1.12M
    using char_type = detail::char_t<Range>;
2232
2233
1.12M
    if constexpr (ranges::contiguous_range<Range> &&
2234
1.12M
                  std::is_same_v<char_type, char>) {
2235
1.12M
        if (range.size() < str.size()) {
2236
1.12M
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
1.12M
        }
2238
1.12M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
1.12M
            return unexpected(parse_error::error);
2240
1.12M
        }
2241
1.12M
        return ranges::next(range.begin(), str.size());
2242
1.12M
    }
2243
1.12M
    else {
2244
1.12M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.12M
            if (ch < 'A' || ch > 'Z') {
2246
1.12M
                return ch;
2247
1.12M
            }
2248
1.12M
            return static_cast<char_type>(ch +
2249
1.12M
                                          static_cast<char_type>('a' - 'A'));
2250
1.12M
        };
2251
2252
1.12M
        SCN_TRY(it, read_exactly_n_code_units(
2253
1.05M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
1.05M
                        .transform_error(make_eof_parse_error));
2255
2256
1.05M
        if (SCN_UNLIKELY(!std::equal(
2257
1.05M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
1.05M
                    return ascii_tolower(a) ==
2259
1.05M
                           static_cast<detail::char_t<Range>>(b);
2260
1.05M
                }))) {
2261
1.05M
            return unexpected(parse_error::error);
2262
1.05M
        }
2263
2264
441
        return it;
2265
1.05M
    }
2266
1.12M
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Line
Count
Source
2230
510
{
2231
510
    using char_type = detail::char_t<Range>;
2232
2233
510
    if constexpr (ranges::contiguous_range<Range> &&
2234
510
                  std::is_same_v<char_type, char>) {
2235
510
        if (range.size() < str.size()) {
2236
510
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
510
        }
2238
510
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
510
            return unexpected(parse_error::error);
2240
510
        }
2241
510
        return ranges::next(range.begin(), str.size());
2242
510
    }
2243
510
    else {
2244
510
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
510
            if (ch < 'A' || ch > 'Z') {
2246
510
                return ch;
2247
510
            }
2248
510
            return static_cast<char_type>(ch +
2249
510
                                          static_cast<char_type>('a' - 'A'));
2250
510
        };
2251
2252
510
        SCN_TRY(it, read_exactly_n_code_units(
2253
448
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
448
                        .transform_error(make_eof_parse_error));
2255
2256
448
        if (SCN_UNLIKELY(!std::equal(
2257
448
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
448
                    return ascii_tolower(a) ==
2259
448
                           static_cast<detail::char_t<Range>>(b);
2260
448
                }))) {
2261
448
            return unexpected(parse_error::error);
2262
448
        }
2263
2264
0
        return it;
2265
448
    }
2266
510
}
_ZN3scn2v34impl35read_matching_string_classic_nocaseINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2230
1.16M
{
2231
1.16M
    using char_type = detail::char_t<Range>;
2232
2233
1.16M
    if constexpr (ranges::contiguous_range<Range> &&
2234
1.16M
                  std::is_same_v<char_type, char>) {
2235
1.16M
        if (range.size() < str.size()) {
2236
1.16M
            return unexpected(make_eof_parse_error(eof_error::eof));
2237
1.16M
        }
2238
1.16M
        if (!fast_streq_nocase(range.data(), str.data(), str.size())) {
2239
1.16M
            return unexpected(parse_error::error);
2240
1.16M
        }
2241
1.16M
        return ranges::next(range.begin(), str.size());
2242
1.16M
    }
2243
1.16M
    else {
2244
1.16M
        auto ascii_tolower = [](char_type ch) -> char_type {
2245
1.16M
            if (ch < 'A' || ch > 'Z') {
2246
1.16M
                return ch;
2247
1.16M
            }
2248
1.16M
            return static_cast<char_type>(ch +
2249
1.16M
                                          static_cast<char_type>('a' - 'A'));
2250
1.16M
        };
2251
2252
1.16M
        SCN_TRY(it, read_exactly_n_code_units(
2253
1.09M
                        range, static_cast<std::ptrdiff_t>(str.size()))
2254
1.09M
                        .transform_error(make_eof_parse_error));
2255
2256
1.09M
        if (SCN_UNLIKELY(!std::equal(
2257
1.09M
                range.begin(), it, str.begin(), [&](auto a, auto b) {
2258
1.09M
                    return ascii_tolower(a) ==
2259
1.09M
                           static_cast<detail::char_t<Range>>(b);
2260
1.09M
                }))) {
2261
1.09M
            return unexpected(parse_error::error);
2262
1.09M
        }
2263
2264
441
        return it;
2265
1.09M
    }
2266
1.16M
}
2267
2268
template <typename Range>
2269
auto read_one_of_code_unit(Range range, std::string_view str)
2270
    -> parse_expected<ranges::const_iterator_t<Range>>
2271
9.40M
{
2272
9.40M
    auto it = read_code_unit(range);
2273
9.40M
    if (SCN_UNLIKELY(!it)) {
2274
13.6k
        return unexpected(make_eof_parse_error(it.error()));
2275
13.6k
    }
2276
2277
18.2M
    for (auto ch : str) {
2278
18.2M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
1.10M
            return *it;
2280
1.10M
        }
2281
18.2M
    }
2282
2283
8.28M
    return unexpected(parse_error::error);
2284
9.39M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2271
4.40M
{
2272
4.40M
    auto it = read_code_unit(range);
2273
4.40M
    if (SCN_UNLIKELY(!it)) {
2274
10.7k
        return unexpected(make_eof_parse_error(it.error()));
2275
10.7k
    }
2276
2277
8.49M
    for (auto ch : str) {
2278
8.49M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
604k
            return *it;
2280
604k
        }
2281
8.49M
    }
2282
2283
3.79M
    return unexpected(parse_error::error);
2284
4.39M
}
_ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2271
1.07k
{
2272
1.07k
    auto it = read_code_unit(range);
2273
1.07k
    if (SCN_UNLIKELY(!it)) {
2274
0
        return unexpected(make_eof_parse_error(it.error()));
2275
0
    }
2276
2277
2.14k
    for (auto ch : str) {
2278
2.14k
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
0
            return *it;
2280
0
        }
2281
2.14k
    }
2282
2283
1.07k
    return unexpected(parse_error::error);
2284
1.07k
}
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2271
3.41M
{
2272
3.41M
    auto it = read_code_unit(range);
2273
3.41M
    if (SCN_UNLIKELY(!it)) {
2274
2.02k
        return unexpected(make_eof_parse_error(it.error()));
2275
2.02k
    }
2276
2277
6.60M
    for (auto ch : str) {
2278
6.60M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
482k
            return *it;
2280
482k
        }
2281
6.60M
    }
2282
2283
2.93M
    return unexpected(parse_error::error);
2284
3.41M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEE
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_NSE_17basic_string_viewIcNSE_11char_traitsIcEEEE
Line
Count
Source
2271
826k
{
2272
826k
    auto it = read_code_unit(range);
2273
826k
    if (SCN_UNLIKELY(!it)) {
2274
715
        return unexpected(make_eof_parse_error(it.error()));
2275
715
    }
2276
2277
1.65M
    for (auto ch : str) {
2278
1.65M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
9.26k
            return *it;
2280
9.26k
        }
2281
1.65M
    }
2282
2283
816k
    return unexpected(parse_error::error);
2284
825k
}
_ZN3scn2v34impl21read_one_of_code_unitINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_14parse_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEE
Line
Count
Source
2271
472
{
2272
472
    auto it = read_code_unit(range);
2273
472
    if (SCN_UNLIKELY(!it)) {
2274
0
        return unexpected(make_eof_parse_error(it.error()));
2275
0
    }
2276
2277
944
    for (auto ch : str) {
2278
944
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
0
            return *it;
2280
0
        }
2281
944
    }
2282
2283
472
    return unexpected(parse_error::error);
2284
472
}
_ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_NSB_17basic_string_viewIcNSB_11char_traitsIcEEEE
Line
Count
Source
2271
754k
{
2272
754k
    auto it = read_code_unit(range);
2273
754k
    if (SCN_UNLIKELY(!it)) {
2274
158
        return unexpected(make_eof_parse_error(it.error()));
2275
158
    }
2276
2277
1.50M
    for (auto ch : str) {
2278
1.50M
        if (*range.begin() == static_cast<detail::char_t<Range>>(ch)) {
2279
5.14k
            return *it;
2280
5.14k
        }
2281
1.50M
    }
2282
2283
749k
    return unexpected(parse_error::error);
2284
754k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_NSM_17basic_string_viewIcNSM_11char_traitsIcEEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_one_of_code_unitINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_NSJ_17basic_string_viewIcNSJ_11char_traitsIcEEEE
2285
2286
template <typename Range, template <class> class Expected, typename Iterator>
2287
auto apply_opt(Expected<Iterator>&& result, Range range)
2288
    -> std::enable_if_t<detail::is_expected<Expected<Iterator>>::value,
2289
                        ranges::const_iterator_t<Range>>
2290
1.41M
{
2291
1.41M
    if (!result) {
2292
1.28M
        return range.begin();
2293
1.28M
    }
2294
129k
    return *result;
2295
1.41M
}
Unexecuted instantiation: _ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
Line
Count
Source
2290
564k
{
2291
564k
    if (!result) {
2292
499k
        return range.begin();
2293
499k
    }
2294
64.7k
    return *result;
2295
564k
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2290
284
{
2291
284
    if (!result) {
2292
284
        return range.begin();
2293
284
    }
2294
0
    return *result;
2295
284
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKcS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2290
562k
{
2291
562k
    if (!result) {
2292
498k
        return range.begin();
2293
498k
    }
2294
64.2k
    return *result;
2295
562k
}
Unexecuted instantiation: _ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEENS1_14parse_expectedESE_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEEE4typeEOSQ_SS_
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_14parse_expectedESA_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEE4typeEOSI_SK_
Line
Count
Source
2290
140k
{
2291
140k
    if (!result) {
2292
140k
        return range.begin();
2293
140k
    }
2294
168
    return *result;
2295
140k
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEENS1_14parse_expectedESB_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEEE4typeEOSN_SP_
Line
Count
Source
2290
122
{
2291
122
    if (!result) {
2292
122
        return range.begin();
2293
122
    }
2294
0
    return *result;
2295
122
}
_ZN3scn2v34impl9apply_optINS0_6ranges6detail9subrange_8subrangeIPKwS8_EENS1_14parse_expectedES8_EENSt3__19enable_ifIXsr6detail11is_expectedIT0_IT1_EEE5valueEDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEEE4typeEOSF_SH_
Line
Count
Source
2290
151k
{
2291
151k
    if (!result) {
2292
150k
        return range.begin();
2293
150k
    }
2294
168
    return *result;
2295
151k
}
2296
2297
/////////////////////////////////////////////////////////////////
2298
// Text width calculation
2299
/////////////////////////////////////////////////////////////////
2300
2301
constexpr std::size_t calculate_text_width_for_fmt_v10(char32_t cp)
2302
118k
{
2303
118k
    if (cp >= 0x1100 &&
2304
118k
        (cp <= 0x115f ||  // Hangul Jamo init. consonants
2305
18.2k
         cp == 0x2329 ||  // LEFT-POINTING ANGLE BRACKET
2306
18.2k
         cp == 0x232a ||  // RIGHT-POINTING ANGLE BRACKET
2307
         // CJK ... Yi except IDEOGRAPHIC HALF FILL SPACE:
2308
18.2k
         (cp >= 0x2e80 && cp <= 0xa4cf && cp != 0x303f) ||
2309
18.2k
         (cp >= 0xac00 && cp <= 0xd7a3) ||    // Hangul Syllables
2310
18.2k
         (cp >= 0xf900 && cp <= 0xfaff) ||    // CJK Compatibility Ideographs
2311
18.2k
         (cp >= 0xfe10 && cp <= 0xfe19) ||    // Vertical Forms
2312
18.2k
         (cp >= 0xfe30 && cp <= 0xfe6f) ||    // CJK Compatibility Forms
2313
18.2k
         (cp >= 0xff00 && cp <= 0xff60) ||    // Fullwidth Forms
2314
18.2k
         (cp >= 0xffe0 && cp <= 0xffe6) ||    // Fullwidth Forms
2315
18.2k
         (cp >= 0x20000 && cp <= 0x2fffd) ||  // CJK
2316
18.2k
         (cp >= 0x30000 && cp <= 0x3fffd) ||
2317
         // Miscellaneous Symbols and Pictographs + Emoticons:
2318
18.2k
         (cp >= 0x1f300 && cp <= 0x1f64f) ||
2319
         // Supplemental Symbols and Pictographs:
2320
18.2k
         (cp >= 0x1f900 && cp <= 0x1f9ff))) {
2321
2.91k
        return 2;
2322
2.91k
    }
2323
115k
    return 1;
2324
118k
}
2325
2326
constexpr std::size_t calculate_valid_text_width(char32_t cp)
2327
76.3k
{
2328
76.3k
    return calculate_text_width_for_fmt_v10(cp);
2329
76.3k
}
2330
2331
template <typename CharT>
2332
std::size_t calculate_valid_text_width(std::basic_string_view<CharT> input)
2333
{
2334
    size_t count{0};
2335
    for_each_code_point_valid(input, [&count](char32_t cp) {
2336
        count += calculate_text_width_for_fmt_v10(cp);
2337
    });
2338
    return count;
2339
}
2340
2341
constexpr std::size_t calculate_text_width(char32_t cp)
2342
208
{
2343
208
    return calculate_text_width_for_fmt_v10(cp);
2344
208
}
2345
2346
template <typename CharT>
2347
std::size_t calculate_text_width(std::basic_string_view<CharT> input)
2348
24.7k
{
2349
24.7k
    size_t count{0};
2350
41.6k
    for_each_code_point(input, [&count](char32_t cp) {
2351
41.6k
        count += calculate_text_width_for_fmt_v10(cp);
2352
41.6k
    });
scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2350
36.3k
    for_each_code_point(input, [&count](char32_t cp) {
2351
36.3k
        count += calculate_text_width_for_fmt_v10(cp);
2352
36.3k
    });
scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)::{lambda(char32_t)#1}::operator()(char32_t) const
Line
Count
Source
2350
5.29k
    for_each_code_point(input, [&count](char32_t cp) {
2351
5.29k
        count += calculate_text_width_for_fmt_v10(cp);
2352
5.29k
    });
2353
24.7k
    return count;
2354
24.7k
}
unsigned long scn::v3::impl::calculate_text_width<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
2348
21.4k
{
2349
21.4k
    size_t count{0};
2350
21.4k
    for_each_code_point(input, [&count](char32_t cp) {
2351
21.4k
        count += calculate_text_width_for_fmt_v10(cp);
2352
21.4k
    });
2353
21.4k
    return count;
2354
21.4k
}
unsigned long scn::v3::impl::calculate_text_width<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
2348
3.34k
{
2349
3.34k
    size_t count{0};
2350
3.34k
    for_each_code_point(input, [&count](char32_t cp) {
2351
3.34k
        count += calculate_text_width_for_fmt_v10(cp);
2352
3.34k
    });
2353
3.34k
    return count;
2354
3.34k
}
2355
2356
namespace counted_width_iterator_impl {
2357
template <typename It, typename S>
2358
class counted_width_iterator {
2359
    static_assert(ranges::forward_iterator<It>);
2360
    static_assert(ranges::sentinel_for<S, It>);
2361
2362
    template <typename OtherIt, typename OtherS>
2363
    friend class counted_width_iterator;
2364
2365
public:
2366
    using iterator = It;
2367
    using sentinel = S;
2368
    using value_type = ranges::iter_value_t<It>;
2369
    using pointer = value_type*;
2370
    using reference = value_type&;
2371
    using difference_type = ranges::iter_difference_t<It>;
2372
    using iterator_category =
2373
        std::conditional_t<ranges::bidirectional_iterator<It>,
2374
                           std::bidirectional_iterator_tag,
2375
                           std::forward_iterator_tag>;
2376
2377
    constexpr counted_width_iterator() = default;
2378
2379
    constexpr counted_width_iterator(iterator x, sentinel s, difference_type n)
2380
        : m_current(x), m_end(s), m_count(n)
2381
32.2k
    {
2382
32.2k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::counted_width_iterator(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>, long)
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::counted_width_iterator(char const*, char const*, long)
Line
Count
Source
2381
19.4k
    {
2382
19.4k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::counted_width_iterator(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t, long)
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>, long)
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::counted_width_iterator(wchar_t const*, wchar_t const*, long)
Line
Count
Source
2381
6.71k
    {
2382
6.71k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>, long)
Line
Count
Source
2381
4.41k
    {
2382
4.41k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::counted_width_iterator(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>, long)
Line
Count
Source
2381
1.68k
    {
2382
1.68k
    }
2383
2384
    template <typename OtherIt,
2385
              typename OtherS,
2386
              std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2387
                               std::is_convertible_v<OtherS, S>>* = nullptr>
2388
    constexpr counted_width_iterator(
2389
        const counted_width_iterator<OtherIt, OtherS>& other)
2390
        : m_current(other.m_current),
2391
          m_end(other.m_end),
2392
          m_count(other.m_count),
2393
          m_multibyte_left(other.m_multibyte_left)
2394
    {
2395
    }
2396
2397
    template <typename OtherIt, typename OtherS>
2398
    constexpr auto operator=(
2399
        const counted_width_iterator<OtherIt, OtherS>& other)
2400
        -> std::enable_if_t<std::is_convertible_v<OtherIt, It> &&
2401
                                std::is_convertible_v<OtherS, S>,
2402
                            counted_width_iterator&>
2403
    {
2404
        m_current = other.m_current;
2405
        m_end = other.m_end;
2406
        m_count = other.m_count;
2407
        m_multibyte_left = other.m_multibyte_left;
2408
        return *this;
2409
    }
2410
2411
    constexpr It base() const
2412
165k
    {
2413
165k
        return m_current;
2414
165k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::base() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::base() const
Line
Count
Source
2412
122k
    {
2413
122k
        return m_current;
2414
122k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::base() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::base() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::base() const
Line
Count
Source
2412
26.3k
    {
2413
26.3k
        return m_current;
2414
26.3k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::base() const
Line
Count
Source
2412
13.0k
    {
2413
13.0k
        return m_current;
2414
13.0k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::base() const
Line
Count
Source
2412
3.41k
    {
2413
3.41k
        return m_current;
2414
3.41k
    }
2415
    constexpr difference_type count() const
2416
160k
    {
2417
160k
        return m_count;
2418
160k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::count() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::count() const
Line
Count
Source
2416
118k
    {
2417
118k
        return m_count;
2418
118k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::count() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::count() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::count() const
Line
Count
Source
2416
25.2k
    {
2417
25.2k
        return m_count;
2418
25.2k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::count() const
Line
Count
Source
2416
13.4k
    {
2417
13.4k
        return m_count;
2418
13.4k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::count() const
Line
Count
Source
2416
3.44k
    {
2417
3.44k
        return m_count;
2418
3.44k
    }
2419
    constexpr difference_type multibyte_left() const
2420
3.90k
    {
2421
3.90k
        return m_multibyte_left;
2422
3.90k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::multibyte_left() const
Line
Count
Source
2420
2.95k
    {
2421
2.95k
        return m_multibyte_left;
2422
2.95k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::multibyte_left() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::multibyte_left() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::multibyte_left() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::multibyte_left() const
Line
Count
Source
2420
256
    {
2421
256
        return m_multibyte_left;
2422
256
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::multibyte_left() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2420
662
    {
2421
662
        return m_multibyte_left;
2422
662
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::multibyte_left() const
Line
Count
Source
2420
34
    {
2421
34
        return m_multibyte_left;
2422
34
    }
2423
2424
    constexpr decltype(auto) operator*()
2425
156k
    {
2426
156k
        return *m_current;
2427
156k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*()
Line
Count
Source
2425
121k
    {
2426
121k
        return *m_current;
2427
121k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator*()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator*()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*()
Line
Count
Source
2425
25.9k
    {
2426
25.9k
        return *m_current;
2427
25.9k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator*()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator*()
Line
Count
Source
2425
7.69k
    {
2426
7.69k
        return *m_current;
2427
7.69k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator*()
Line
Count
Source
2425
1.72k
    {
2426
1.72k
        return *m_current;
2427
1.72k
    }
2428
    constexpr decltype(auto) operator*() const
2429
9.46k
    {
2430
9.46k
        return *m_current;
2431
9.46k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator*() const
Line
Count
Source
2429
7.85k
    {
2430
7.85k
        return *m_current;
2431
7.85k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator*() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator*() const
Line
Count
Source
2429
1.60k
    {
2430
1.60k
        return *m_current;
2431
1.60k
    }
2432
2433
    constexpr counted_width_iterator& operator++()
2434
149k
    {
2435
149k
        SCN_EXPECT(m_current != m_end);
2436
149k
        _increment_current();
2437
149k
        return *this;
2438
149k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::operator++()
Line
Count
Source
2434
121k
    {
2435
121k
        SCN_EXPECT(m_current != m_end);
2436
121k
        _increment_current();
2437
121k
        return *this;
2438
121k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::operator++()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::operator++()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::operator++()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::operator++()
Line
Count
Source
2434
19.1k
    {
2435
19.1k
        SCN_EXPECT(m_current != m_end);
2436
19.1k
        _increment_current();
2437
19.1k
        return *this;
2438
19.1k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::operator++()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::operator++()
Line
Count
Source
2434
8.07k
    {
2435
8.07k
        SCN_EXPECT(m_current != m_end);
2436
8.07k
        _increment_current();
2437
8.07k
        return *this;
2438
8.07k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::operator++()
Line
Count
Source
2434
804
    {
2435
804
        SCN_EXPECT(m_current != m_end);
2436
804
        _increment_current();
2437
804
        return *this;
2438
804
    }
2439
2440
    constexpr counted_width_iterator operator++(int)
2441
    {
2442
        auto tmp = *this;
2443
        ++*this;
2444
        return tmp;
2445
    }
2446
2447
    template <typename Iter = It>
2448
    constexpr auto operator--()
2449
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2450
                            counted_width_iterator&>
2451
0
    {
2452
0
        _decrement_current();
2453
0
        return *this;
2454
0
    }
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorIPKcS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorIPKwS5_EmmIS5_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERS6_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEE8sentinelILb1EEEEmmIS6_EENS8_9enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKcS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
Unexecuted instantiation: _ZN3scn2v34impl27counted_width_iterator_impl22counted_width_iteratorINS3_IPKwS5_EENS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS5_S5_EEE8sentinelILb1EEEEmmIS6_EENSt3__19enable_ifIXsr6rangesE22bidirectional_iteratorIT_EERSG_E4typeEv
2455
2456
    template <typename Iter = It>
2457
    constexpr auto operator--(int)
2458
        -> std::enable_if_t<ranges::bidirectional_iterator<Iter>,
2459
                            counted_width_iterator>
2460
    {
2461
        auto tmp = *this;
2462
        --*this;
2463
        return tmp;
2464
    }
2465
2466
    // TODO: optimize, make better than forward, if possible
2467
#if 0
2468
                template <typename Iter = It>
2469
                constexpr auto operator+(difference_type n) -> std::enable_if_t<
2470
                    ranges_std::random_access_iterator<Iter>,
2471
                    counted_width_iterator>
2472
                {
2473
                    // TODO
2474
                    return counted_width_iterator(m_current + n, m_count - n);
2475
                }
2476
2477
                template <typename Iter = It,
2478
                          std::enable_if_t<ranges_std::random_access_iterator<
2479
                              Iter>>* = nullptr>
2480
                friend constexpr counted_width_iterator operator+(
2481
                    ranges_std::iter_difference_t<Iter> n,
2482
                    const counted_width_iterator<Iter>& x)
2483
                {
2484
                    return x + n;
2485
                }
2486
2487
                template <typename Iter = It>
2488
                constexpr auto operator+=(difference_type n)
2489
                    -> std::enable_if_t<
2490
                        ranges_std::random_access_iterator<Iter>,
2491
                        counted_width_iterator&>
2492
                {
2493
                    // TODO
2494
                    m_current += n;
2495
                    m_count -= n;
2496
                    return *this;
2497
                }
2498
2499
                template <typename Iter = It>
2500
                constexpr auto operator-(difference_type n) -> std::enable_if_t<
2501
                    ranges_std::random_access_iterator<Iter>,
2502
                    counted_width_iterator>
2503
                {
2504
                    // TODO
2505
                    return counted_width_iterator(m_current - n, m_count + n);
2506
                }
2507
2508
                template <typename Iter = It,
2509
                          std::enable_if_t<ranges_std::random_access_iterator<
2510
                              Iter>>* = nullptr>
2511
                constexpr decltype(auto) operator[](difference_type n) const
2512
                {
2513
                    return m_current[n];
2514
                }
2515
#endif
2516
2517
    template <typename OtherIt, typename OtherS>
2518
    friend constexpr auto operator==(
2519
        const counted_width_iterator& a,
2520
        const counted_width_iterator<OtherIt, OtherS>& b)
2521
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2522
85.7k
    {
2523
85.7k
        return a.m_current == b.m_current;
2524
85.7k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v3::impl::counted_width_iterator_impl::operator==<char const*, char const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2522
73.9k
    {
2523
73.9k
        return a.m_current == b.m_current;
2524
73.9k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v3::impl::counted_width_iterator_impl::operator==<wchar_t const*, wchar_t const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2522
7.26k
    {
2523
7.26k
        return a.m_current == b.m_current;
2524
7.26k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2522
4.50k
    {
2523
4.50k
        return a.m_current == b.m_current;
2524
4.50k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator==<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2525
    template <typename OtherIt, typename OtherS>
2526
    friend constexpr auto operator!=(
2527
        const counted_width_iterator& a,
2528
        const counted_width_iterator<OtherIt, OtherS>& b)
2529
        -> decltype(SCN_DECLVAL(const It&) == SCN_DECLVAL(const OtherIt&))
2530
79.1k
    {
2531
79.1k
        return !(a == b);
2532
79.1k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<char const* const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<char const*, char const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&))()>(decltype(nullptr)))())==((static_cast<char const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2530
67.8k
    {
2531
67.8k
        return !(a == b);
2532
67.8k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& (*)()>(decltype(nullptr)))()))
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<wchar_t const* const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<wchar_t const*, wchar_t const*>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&))()>(decltype(nullptr)))())==((static_cast<wchar_t const* const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2530
6.80k
    {
2531
6.80k
        return !(a == b);
2532
6.80k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& (*)()>(decltype(nullptr)))()))
Line
Count
Source
2530
4.50k
    {
2531
4.50k
        return !(a == b);
2532
4.50k
    }
Unexecuted instantiation: decltype (((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*scn::v3::impl::counted_width_iterator_impl::operator!=<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&))()>(decltype(nullptr)))())==((static_cast<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& (*)()>(decltype(nullptr)))()))
2533
2534
    friend constexpr bool operator==(const counted_width_iterator& x,
2535
                                     ranges::default_sentinel_t)
2536
    {
2537
        return x.count() == 0 && x.multibyte_left() == 0;
2538
    }
2539
    friend constexpr bool operator==(ranges::default_sentinel_t,
2540
                                     const counted_width_iterator& x)
2541
    {
2542
        return x.count() == 0 && x.multibyte_left() == 0;
2543
    }
2544
2545
    friend constexpr bool operator!=(const counted_width_iterator& a,
2546
                                     ranges::default_sentinel_t b)
2547
    {
2548
        return !(a == b);
2549
    }
2550
    friend constexpr bool operator!=(ranges::default_sentinel_t a,
2551
                                     const counted_width_iterator& b)
2552
    {
2553
        return !(a == b);
2554
    }
2555
2556
    template <typename OtherIt, typename OtherS>
2557
    friend constexpr auto operator<(
2558
        const counted_width_iterator& a,
2559
        const counted_width_iterator<OtherIt, OtherS>& b)
2560
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2561
    {
2562
        if (a.count() == b.count()) {
2563
            return a.multibyte_left() > b.multibyte_left();
2564
        }
2565
2566
        return a.count() > b.count();
2567
    }
2568
2569
    template <typename OtherIt, typename OtherS>
2570
    friend constexpr auto operator>(
2571
        const counted_width_iterator& a,
2572
        const counted_width_iterator<OtherIt, OtherS>& b)
2573
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2574
    {
2575
        return !(b < a);
2576
    }
2577
2578
    template <typename OtherIt, typename OtherS>
2579
    friend constexpr auto operator<=(
2580
        const counted_width_iterator& a,
2581
        const counted_width_iterator<OtherIt, OtherS>& b)
2582
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2583
    {
2584
        return !(b < a);
2585
    }
2586
2587
    template <typename OtherIt, typename OtherS>
2588
    friend constexpr auto operator>=(
2589
        const counted_width_iterator& a,
2590
        const counted_width_iterator<OtherIt, OtherS>& b)
2591
        -> decltype(SCN_DECLVAL(const It&) < SCN_DECLVAL(const OtherIt&))
2592
    {
2593
        return !(a < b);
2594
    }
2595
2596
#if 0
2597
                template <typename OtherIt, typename OtherS>
2598
                friend constexpr auto operator-(
2599
                    const counted_width_iterator& a,
2600
                    const counted_width_iterator<OtherIt, OtherS>& b)
2601
                    -> std::enable_if_t<ranges_std::common_with<OtherIt, It>,
2602
                                        ranges_std::iter_difference_t<OtherIt>>
2603
                {
2604
                    // TODO
2605
                }
2606
2607
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2608
                    const counted_width_iterator& x,
2609
                    ranges_std::default_sentinel_t)
2610
                {
2611
                    // TODO
2612
                }
2613
2614
                friend constexpr ranges_std::iter_difference_t<It> operator-(
2615
                    ranges_std::default_sentinel_t,
2616
                    const counted_width_iterator& x)
2617
                {
2618
                    // TODO
2619
                }
2620
#endif
2621
2622
#if 0
2623
                template <typename Iter = It>
2624
                constexpr auto operator-=(difference_type n)
2625
                    -> std::enable_if_t<
2626
                        ranges_std::random_access_iterator<Iter>,
2627
                        counted_width_iterator&>
2628
                {
2629
                    // TODO
2630
                    m_current -= n;
2631
                    m_count += n;
2632
                    return *this;
2633
                }
2634
#endif
2635
2636
private:
2637
    difference_type _get_cp_length_at_current() const
2638
96.7k
    {
2639
96.7k
        return static_cast<difference_type>(
2640
96.7k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
96.7k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_cp_length_at_current() const
Line
Count
Source
2638
72.0k
    {
2639
72.0k
        return static_cast<difference_type>(
2640
72.0k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
72.0k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_cp_length_at_current() const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_cp_length_at_current() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_cp_length_at_current() const
Line
Count
Source
2638
19.1k
    {
2639
19.1k
        return static_cast<difference_type>(
2640
19.1k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
19.1k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_cp_length_at_current() const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2638
4.83k
    {
2639
4.83k
        return static_cast<difference_type>(
2640
4.83k
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
4.83k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_cp_length_at_current() const
Line
Count
Source
2638
804
    {
2639
804
        return static_cast<difference_type>(
2640
804
            detail::code_point_length_by_starting_code_unit(*m_current));
2641
804
    }
2642
2643
    difference_type _get_width_at_current_cp_start(difference_type cplen) const
2644
96.7k
    {
2645
96.7k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
622
            return 0;
2647
622
        }
2648
2649
96.1k
        if (cplen == 1) {
2650
76.3k
            SCN_EXPECT(m_current != m_end);
2651
76.3k
            auto cp = static_cast<char32_t>(*m_current);
2652
76.3k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
76.3k
        }
2654
2655
19.8k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
19.8k
                                           cplen);
2657
19.8k
        if (SCN_UNLIKELY(!r)) {
2658
306
            return 0;
2659
306
        }
2660
2661
19.5k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
19.5k
        return static_cast<difference_type>(
2663
19.5k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
19.8k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
72.0k
    {
2645
72.0k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
622
            return 0;
2647
622
        }
2648
2649
71.4k
        if (cplen == 1) {
2650
53.3k
            SCN_EXPECT(m_current != m_end);
2651
53.3k
            auto cp = static_cast<char32_t>(*m_current);
2652
53.3k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
53.3k
        }
2654
2655
18.0k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
18.0k
                                           cplen);
2657
18.0k
        if (SCN_UNLIKELY(!r)) {
2658
306
            return 0;
2659
306
        }
2660
2661
17.7k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
17.7k
        return static_cast<difference_type>(
2663
17.7k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
18.0k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_get_width_at_current_cp_start(long) const
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
19.1k
    {
2645
19.1k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
0
            return 0;
2647
0
        }
2648
2649
19.1k
        if (cplen == 1) {
2650
19.1k
            SCN_EXPECT(m_current != m_end);
2651
19.1k
            auto cp = static_cast<char32_t>(*m_current);
2652
19.1k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
19.1k
        }
2654
2655
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
0
                                           cplen);
2657
0
        if (SCN_UNLIKELY(!r)) {
2658
0
            return 0;
2659
0
        }
2660
2661
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
0
        return static_cast<difference_type>(
2663
0
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
0
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_get_width_at_current_cp_start(long) const
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
4.83k
    {
2645
4.83k
        if (SCN_UNLIKELY(cplen == 0)) {
2646
0
            return 0;
2647
0
        }
2648
2649
4.83k
        if (cplen == 1) {
2650
3.02k
            SCN_EXPECT(m_current != m_end);
2651
3.02k
            auto cp = static_cast<char32_t>(*m_current);
2652
3.02k
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
3.02k
        }
2654
2655
1.80k
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
1.80k
                                           cplen);
2657
1.80k
        if (SCN_UNLIKELY(!r)) {
2658
0
            return 0;
2659
0
        }
2660
2661
1.80k
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
1.80k
        return static_cast<difference_type>(
2663
1.80k
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
1.80k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_get_width_at_current_cp_start(long) const
Line
Count
Source
2644
804
    {
2645
804
        if (SCN_UNLIKELY(cplen == 0)) {
2646
0
            return 0;
2647
0
        }
2648
2649
804
        if (cplen == 1) {
2650
804
            SCN_EXPECT(m_current != m_end);
2651
804
            auto cp = static_cast<char32_t>(*m_current);
2652
804
            return static_cast<difference_type>(calculate_valid_text_width(cp));
2653
804
        }
2654
2655
0
        auto r = read_exactly_n_code_units(ranges::subrange{m_current, m_end},
2656
0
                                           cplen);
2657
0
        if (SCN_UNLIKELY(!r)) {
2658
0
            return 0;
2659
0
        }
2660
2661
0
        auto cp_str = std::basic_string<value_type>{m_current, *r};
2662
0
        return static_cast<difference_type>(
2663
0
            calculate_text_width(std::basic_string_view<value_type>{cp_str}));
2664
0
    }
2665
2666
    void _increment_current()
2667
149k
    {
2668
149k
        if (m_multibyte_left == 0) {
2669
96.7k
            auto cplen = _get_cp_length_at_current();
2670
96.7k
            m_multibyte_left = cplen - 1;
2671
96.7k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
96.7k
        }
2673
52.3k
        else {
2674
52.3k
            --m_multibyte_left;
2675
52.3k
        }
2676
2677
149k
        ++m_current;
2678
149k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_increment_current()
Line
Count
Source
2667
121k
    {
2668
121k
        if (m_multibyte_left == 0) {
2669
72.0k
            auto cplen = _get_cp_length_at_current();
2670
72.0k
            m_multibyte_left = cplen - 1;
2671
72.0k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
72.0k
        }
2673
49.1k
        else {
2674
49.1k
            --m_multibyte_left;
2675
49.1k
        }
2676
2677
121k
        ++m_current;
2678
121k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_increment_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::_increment_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::_increment_current()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_increment_current()
Line
Count
Source
2667
19.1k
    {
2668
19.1k
        if (m_multibyte_left == 0) {
2669
19.1k
            auto cplen = _get_cp_length_at_current();
2670
19.1k
            m_multibyte_left = cplen - 1;
2671
19.1k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
19.1k
        }
2673
0
        else {
2674
0
            --m_multibyte_left;
2675
0
        }
2676
2677
19.1k
        ++m_current;
2678
19.1k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_increment_current()
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2667
8.07k
    {
2668
8.07k
        if (m_multibyte_left == 0) {
2669
4.83k
            auto cplen = _get_cp_length_at_current();
2670
4.83k
            m_multibyte_left = cplen - 1;
2671
4.83k
            m_count -= _get_width_at_current_cp_start(cplen);
2672
4.83k
        }
2673
3.24k
        else {
2674
3.24k
            --m_multibyte_left;
2675
3.24k
        }
2676
2677
8.07k
        ++m_current;
2678
8.07k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_increment_current()
Line
Count
Source
2667
804
    {
2668
804
        if (m_multibyte_left == 0) {
2669
804
            auto cplen = _get_cp_length_at_current();
2670
804
            m_multibyte_left = cplen - 1;
2671
804
            m_count -= _get_width_at_current_cp_start(cplen);
2672
804
        }
2673
0
        else {
2674
0
            --m_multibyte_left;
2675
0
        }
2676
2677
804
        ++m_current;
2678
804
    }
2679
2680
    void _decrement_current()
2681
0
    {
2682
0
        --m_current;
2683
2684
0
        auto cplen = _get_cp_length_at_current();
2685
0
        if (cplen == 0) {
2686
0
            ++m_multibyte_left;
2687
0
        }
2688
0
        else {
2689
0
            m_count += _get_width_at_current_cp_start(cplen);
2690
0
            m_multibyte_left = cplen - 1;
2691
0
        }
2692
0
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::_decrement_current()
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::_decrement_current()
2693
2694
    It m_current{};
2695
    S m_end{};
2696
    difference_type m_count{0};
2697
    difference_type m_multibyte_left{0};
2698
};
2699
2700
template <typename I, typename S>
2701
counted_width_iterator(I, S, ranges::iter_difference_t<I>)
2702
    -> counted_width_iterator<I, S>;
2703
}  // namespace counted_width_iterator_impl
2704
2705
using counted_width_iterator_impl::counted_width_iterator;
2706
2707
template <typename View, typename = void>
2708
struct take_width_view_storage;
2709
2710
template <typename View>
2711
struct take_width_view_storage<View,
2712
                               std::enable_if_t<ranges::borrowed_range<View>>> {
2713
14.3k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::take_width_view_storage(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::take_width_view_storage(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&)
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
2713
8.36k
    take_width_view_storage(const View& v) : view(v) {}
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::take_width_view_storage(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::take_width_view_storage(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&)
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::take_width_view_storage(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
2713
2.42k
    take_width_view_storage(const View& v) : view(v) {}
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > const&)
Line
Count
Source
2713
2.55k
    take_width_view_storage(const View& v) : view(v) {}
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::take_width_view_storage(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&)
Line
Count
Source
2713
958
    take_width_view_storage(const View& v) : view(v) {}
2714
2715
    const View& get() const
2716
155k
    {
2717
155k
        return view;
2718
155k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>::get() const
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>::get() const
Line
Count
Source
2716
109k
    {
2717
109k
        return view;
2718
109k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>::get() const
Unexecuted instantiation: scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>::get() const
scn::v3::impl::take_width_view_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>::get() const
Line
Count
Source
2716
22.3k
    {
2717
22.3k
        return view;
2718
22.3k
    }
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, void>::get() const
Line
Count
Source
2716
17.7k
    {
2717
17.7k
        return view;
2718
17.7k
    }
scn::v3::impl::take_width_view_storage<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>::get() const
Line
Count
Source
2716
5.85k
    {
2717
5.85k
        return view;
2718
5.85k
    }
2719
2720
    View view;
2721
};
2722
2723
template <typename View>
2724
struct take_width_view_storage<
2725
    View,
2726
    std::enable_if_t<!ranges::borrowed_range<View>>> {
2727
    take_width_view_storage(const View& v) : view(&v) {}
2728
2729
    const View& get() const
2730
    {
2731
        return *view;
2732
    }
2733
2734
    const View* view;
2735
};
2736
2737
template <typename View>
2738
class take_width_view : public ranges::view_interface<take_width_view<View>> {
2739
    template <bool IsConst>
2740
    class sentinel {
2741
        friend class sentinel<!IsConst>;
2742
        using Base = std::conditional_t<IsConst, const View, View>;
2743
        using CWI = counted_width_iterator<ranges::iterator_t<Base>,
2744
                                           ranges::sentinel_t<Base>>;
2745
        using underlying = ranges::sentinel_t<Base>;
2746
2747
    public:
2748
        constexpr sentinel() = default;
2749
2750
91.1k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v3::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>::sentinel(char const*)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>::sentinel(char const*)
Line
Count
Source
2750
70.8k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>::sentinel(scn::v3::ranges::default_sentinel_t)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>::sentinel(wchar_t const*)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>::sentinel(wchar_t const*)
Line
Count
Source
2750
8.88k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
2750
8.96k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>::sentinel(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
2750
2.48k
        constexpr explicit sentinel(underlying s) : m_end(SCN_MOVE(s)) {}
2751
2752
        template <
2753
            typename S,
2754
            std::enable_if_t<std::is_same_v<S, sentinel<!IsConst>>>* = nullptr,
2755
            bool C = IsConst,
2756
            typename VV = View,
2757
            std::enable_if_t<C && std::is_convertible_v<ranges::sentinel_t<VV>,
2758
                                                        underlying>>* = nullptr>
2759
        constexpr explicit sentinel(S s) : m_end(SCN_MOVE(s.m_end))
2760
        {
2761
        }
2762
2763
        constexpr underlying base() const
2764
        {
2765
            return m_end;
2766
        }
2767
2768
        friend constexpr bool operator==(const CWI& y, const sentinel& x)
2769
154k
        {
2770
154k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
154k
                   y.base() == x.m_end;
2772
154k
        }
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2769
116k
        {
2770
116k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
116k
                   y.base() == x.m_end;
2772
116k
        }
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2769
24.7k
        {
2770
24.7k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
24.7k
                   y.base() == x.m_end;
2772
24.7k
        }
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2769
11.0k
        {
2770
11.0k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
11.0k
                   y.base() == x.m_end;
2772
11.0k
        }
scn::v3::impl::operator==(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2769
2.48k
        {
2770
2.48k
            return (y.count() == 0 && y.multibyte_left() == 0) ||
2771
2.48k
                   y.base() == x.m_end;
2772
2.48k
        }
2773
2774
        friend constexpr bool operator==(const sentinel& x, const CWI& y)
2775
        {
2776
            return y == x;
2777
        }
2778
2779
        friend constexpr bool operator!=(const CWI& y, const sentinel& x)
2780
82.1k
        {
2781
82.1k
            return !(y == x);
2782
82.1k
        }
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> const&)
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> const&)
Line
Count
Source
2780
63.7k
        {
2781
63.7k
            return !(y == x);
2782
63.7k
        }
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> const&)
Unexecuted instantiation: scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> const&)
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> const&)
Line
Count
Source
2780
11.7k
        {
2781
11.7k
            return !(y == x);
2782
11.7k
        }
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> const&)
Line
Count
Source
2780
5.66k
        {
2781
5.66k
            return !(y == x);
2782
5.66k
        }
scn::v3::impl::operator!=(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const&, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> const&)
Line
Count
Source
2780
1.03k
        {
2781
1.03k
            return !(y == x);
2782
1.03k
        }
2783
2784
        friend constexpr bool operator!=(const sentinel& x, const CWI& y)
2785
        {
2786
            return !(y == x);
2787
        }
2788
2789
    private:
2790
        SCN_NO_UNIQUE_ADDRESS underlying m_end{};
2791
    };
2792
2793
public:
2794
    using value_type = ranges::range_value_t<View>;
2795
2796
    take_width_view() = default;
2797
2798
    constexpr take_width_view(const View& base, std::ptrdiff_t count)
2799
        : m_base(base), m_count(count)
2800
14.3k
    {
2801
14.3k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::take_width_view(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::take_width_view(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, long)
Line
Count
Source
2800
8.36k
    {
2801
8.36k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::take_width_view(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long)
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::take_width_view(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long)
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::take_width_view(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long)
Line
Count
Source
2800
2.42k
    {
2801
2.42k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long)
Line
Count
Source
2800
2.55k
    {
2801
2.55k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::take_width_view(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long)
Line
Count
Source
2800
958
    {
2801
958
    }
2802
2803
    constexpr View base() const
2804
    {
2805
        return m_base;
2806
    }
2807
2808
    constexpr auto begin() const
2809
32.2k
    {
2810
32.2k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
32.2k
                                      m_count};
2812
32.2k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::begin() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
2809
19.4k
    {
2810
19.4k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
19.4k
                                      m_count};
2812
19.4k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::begin() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::begin() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
2809
6.71k
    {
2810
6.71k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
6.71k
                                      m_count};
2812
6.71k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::begin() const
Line
Count
Source
2809
4.41k
    {
2810
4.41k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
4.41k
                                      m_count};
2812
4.41k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::begin() const
Line
Count
Source
2809
1.68k
    {
2810
1.68k
        return counted_width_iterator{m_base.get().begin(), m_base.get().end(),
2811
1.68k
                                      m_count};
2812
1.68k
    }
2813
2814
    constexpr auto end() const
2815
91.1k
    {
2816
91.1k
        return sentinel<true>{m_base.get().end()};
2817
91.1k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::end() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Line
Count
Source
2815
70.8k
    {
2816
70.8k
        return sentinel<true>{m_base.get().end()};
2817
70.8k
    }
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::end() const
Unexecuted instantiation: scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::end() const
scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
2815
8.88k
    {
2816
8.88k
        return sentinel<true>{m_base.get().end()};
2817
8.88k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::end() const
Line
Count
Source
2815
8.96k
    {
2816
8.96k
        return sentinel<true>{m_base.get().end()};
2817
8.96k
    }
scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::end() const
Line
Count
Source
2815
2.48k
    {
2816
2.48k
        return sentinel<true>{m_base.get().end()};
2817
2.48k
    }
2818
2819
private:
2820
    take_width_view_storage<View> m_base{};
2821
    std::ptrdiff_t m_count{0};
2822
};
2823
2824
template <typename R>
2825
take_width_view(R&&, std::ptrdiff_t) -> take_width_view<R>;
2826
2827
struct _take_width_fn {
2828
    template <typename R>
2829
    constexpr auto operator()(const R& r, std::ptrdiff_t n) const
2830
        -> decltype(take_width_view{r, n})
2831
14.3k
    {
2832
14.3k
        return take_width_view{r, n};
2833
14.3k
    }
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >(scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > const&, long) const
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, long) const
Line
Count
Source
2831
8.36k
    {
2832
8.36k
        return take_width_view{r, n};
2833
8.36k
    }
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&, long) const
Unexecuted instantiation: decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >(scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > const&, long) const
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, long) const
Line
Count
Source
2831
2.42k
    {
2832
2.42k
        return take_width_view{r, n};
2833
2.42k
    }
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > const&, long) const
Line
Count
Source
2831
2.55k
    {
2832
2.55k
        return take_width_view{r, n};
2833
2.55k
    }
decltype (scn::v3::impl::take_width_view{{parm#1}, {parm#2}}) scn::v3::impl::_take_width_fn::operator()<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > const&, long) const
Line
Count
Source
2831
958
    {
2832
958
        return take_width_view{r, n};
2833
958
    }
2834
};
2835
2836
inline constexpr _take_width_fn take_width{};
2837
}  // namespace impl
2838
2839
namespace ranges {
2840
template <typename R>
2841
inline constexpr bool enable_borrowed_range<::scn::impl::take_width_view<R>> =
2842
    enable_borrowed_range<R>;
2843
}
2844
2845
/////////////////////////////////////////////////////////////////
2846
// contiguous_scan_context
2847
/////////////////////////////////////////////////////////////////
2848
2849
namespace impl {
2850
template <typename CharT>
2851
class basic_contiguous_scan_context
2852
    : public detail::scan_context_base<
2853
          basic_scan_args<basic_scan_context<CharT>>> {
2854
    using base =
2855
        detail::scan_context_base<basic_scan_args<basic_scan_context<CharT>>>;
2856
2857
public:
2858
    using char_type = CharT;
2859
    using buffer_type = detail::basic_scan_buffer<char_type>;
2860
    using range_type = ranges::subrange<const char_type*, const char_type*>;
2861
    using iterator = const char_type*;
2862
    using sentinel = const char_type*;
2863
    using parse_context_type = basic_scan_parse_context<char_type>;
2864
2865
    using parent_context_type = basic_scan_context<char_type>;
2866
    using args_type = basic_scan_args<parent_context_type>;
2867
    using arg_type = basic_scan_arg<parent_context_type>;
2868
2869
    template <typename Range,
2870
              std::enable_if_t<ranges::contiguous_range<Range> &&
2871
                               ranges::borrowed_range<Range>>* = nullptr>
2872
    constexpr basic_contiguous_scan_context(Range&& r,
2873
                                            args_type a,
2874
                                            detail::locale_ref loc = {})
2875
        : base(SCN_MOVE(a), loc),
2876
          m_range(SCN_FWD(r)),
2877
          m_current(m_range.begin())
2878
6.65M
    {
2879
6.65M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::basic_contiguous_scan_context<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref)
Line
Count
Source
2878
2.85M
    {
2879
2.85M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::basic_contiguous_scan_context<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref)
Line
Count
Source
2878
3.80M
    {
2879
3.80M
    }
2880
2881
    constexpr iterator begin() const
2882
376M
    {
2883
376M
        return m_current;
2884
376M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::begin() const
Line
Count
Source
2882
8.08M
    {
2883
8.08M
        return m_current;
2884
8.08M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::begin() const
Line
Count
Source
2882
368M
    {
2883
368M
        return m_current;
2884
368M
    }
2885
2886
    constexpr sentinel end() const
2887
728M
    {
2888
728M
        return m_range.end();
2889
728M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::end() const
Line
Count
Source
2887
5.26M
    {
2888
5.26M
        return m_range.end();
2889
5.26M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::end() const
Line
Count
Source
2887
723M
    {
2888
723M
        return m_range.end();
2889
723M
    }
2890
2891
    constexpr auto range() const
2892
6.37M
    {
2893
6.37M
        return ranges::subrange{begin(), end()};
2894
6.37M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::range() const
Line
Count
Source
2892
2.73M
    {
2893
2.73M
        return ranges::subrange{begin(), end()};
2894
2.73M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::range() const
Line
Count
Source
2892
3.63M
    {
2893
3.63M
        return ranges::subrange{begin(), end()};
2894
3.63M
    }
2895
2896
    constexpr auto underlying_range() const
2897
0
    {
2898
0
        return m_range;
2899
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::underlying_range() const
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::underlying_range() const
2900
2901
    void advance_to(iterator it)
2902
363M
    {
2903
363M
        SCN_EXPECT(it <= end());
2904
363M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
363M
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
363M
        }
2909
363M
        m_current = SCN_MOVE(it);
2910
363M
    }
scn::v3::impl::basic_contiguous_scan_context<char>::advance_to(char const*)
Line
Count
Source
2902
2.49M
    {
2903
2.49M
        SCN_EXPECT(it <= end());
2904
2.49M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
2.49M
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
2.49M
        }
2909
2.49M
        m_current = SCN_MOVE(it);
2910
2.49M
    }
scn::v3::impl::basic_contiguous_scan_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
2902
361M
    {
2903
361M
        SCN_EXPECT(it <= end());
2904
361M
        if constexpr (detail::is_comparable_with_nullptr<iterator>) {
2905
361M
            if (it == nullptr) {
2906
0
                it = end();
2907
0
            }
2908
361M
        }
2909
361M
        m_current = SCN_MOVE(it);
2910
361M
    }
2911
2912
    void advance_to(const typename parent_context_type::iterator& it)
2913
0
    {
2914
0
        SCN_EXPECT(it.position() <= m_range.size());
2915
0
        m_current = m_range.begin() + it.position();
2916
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::advance_to(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::advance_to(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
2917
2918
    std::ptrdiff_t begin_position()
2919
0
    {
2920
0
        return ranges::distance(m_range.begin(), begin());
2921
0
    }
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<char>::begin_position()
Unexecuted instantiation: scn::v3::impl::basic_contiguous_scan_context<wchar_t>::begin_position()
2922
2923
private:
2924
    range_type m_range;
2925
    iterator m_current;
2926
};
2927
2928
struct reader_error_handler {
2929
    constexpr void on_error(const char* msg)
2930
82.7k
    {
2931
82.7k
        SCN_UNLIKELY_ATTR
2932
82.7k
        m_msg = msg;
2933
82.7k
    }
2934
    explicit constexpr operator bool() const
2935
10.8M
    {
2936
10.8M
        return m_msg == nullptr;
2937
10.8M
    }
2938
2939
    const char* m_msg{nullptr};
2940
};
2941
2942
/////////////////////////////////////////////////////////////////
2943
// General reading support
2944
/////////////////////////////////////////////////////////////////
2945
2946
template <typename SourceRange>
2947
auto skip_classic_whitespace(const SourceRange& range,
2948
                             bool allow_exhaustion = false)
2949
    -> eof_expected<ranges::const_iterator_t<SourceRange>>
2950
19.7M
{
2951
19.7M
    if (!allow_exhaustion) {
2952
19.7M
        auto it = read_while_classic_space(range);
2953
19.7M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
19.7M
            SCN_UNLIKELY(!e)) {
2955
91.1k
            return unexpected(e);
2956
91.1k
        }
2957
2958
19.6M
        return it;
2959
19.7M
    }
2960
2961
1.07k
    return read_while_classic_space(range);
2962
19.7M
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
2950
428
{
2951
428
    if (!allow_exhaustion) {
2952
0
        auto it = read_while_classic_space(range);
2953
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
0
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
0
        return it;
2959
0
    }
2960
2961
428
    return read_while_classic_space(range);
2962
428
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
2950
3.78M
{
2951
3.78M
    if (!allow_exhaustion) {
2952
3.78M
        auto it = read_while_classic_space(range);
2953
3.78M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
3.78M
            SCN_UNLIKELY(!e)) {
2955
36.0k
            return unexpected(e);
2956
36.0k
        }
2957
2958
3.74M
        return it;
2959
3.78M
    }
2960
2961
170
    return read_while_classic_space(range);
2962
3.78M
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
3.67M
{
2951
3.67M
    if (!allow_exhaustion) {
2952
3.67M
        auto it = read_while_classic_space(range);
2953
3.67M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
3.67M
            SCN_UNLIKELY(!e)) {
2955
37.8k
            return unexpected(e);
2956
37.8k
        }
2957
2958
3.63M
        return it;
2959
3.67M
    }
2960
2961
0
    return read_while_classic_space(range);
2962
3.67M
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSJ_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSE_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS4_9add_constIT_E4typeEEEEEEERKSD_b
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_b
Line
Count
Source
2950
78
{
2951
78
    if (!allow_exhaustion) {
2952
0
        auto it = read_while_classic_space(range);
2953
0
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
0
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
0
        return it;
2959
0
    }
2960
2961
78
    return read_while_classic_space(range);
2962
78
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSD_b
Line
Count
Source
2950
7.97M
{
2951
7.97M
    if (!allow_exhaustion) {
2952
7.97M
        auto it = read_while_classic_space(range);
2953
7.97M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
7.97M
            SCN_UNLIKELY(!e)) {
2955
9.79k
            return unexpected(e);
2956
9.79k
        }
2957
2958
7.96M
        return it;
2959
7.97M
    }
2960
2961
400
    return read_while_classic_space(range);
2962
7.97M
}
_ZN3scn2v34impl23skip_classic_whitespaceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
4.28M
{
2951
4.28M
    if (!allow_exhaustion) {
2952
4.28M
        auto it = read_while_classic_space(range);
2953
4.28M
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
4.28M
            SCN_UNLIKELY(!e)) {
2955
7.21k
            return unexpected(e);
2956
7.21k
        }
2957
2958
4.27M
        return it;
2959
4.28M
    }
2960
2961
0
    return read_while_classic_space(range);
2962
4.28M
}
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
1.85k
{
2951
1.85k
    if (!allow_exhaustion) {
2952
1.85k
        auto it = read_while_classic_space(range);
2953
1.85k
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
1.85k
            SCN_UNLIKELY(!e)) {
2955
142
            return unexpected(e);
2956
142
        }
2957
2958
1.71k
        return it;
2959
1.85k
    }
2960
2961
0
    return read_while_classic_space(range);
2962
1.85k
}
_ZN3scn2v34impl23skip_classic_whitespaceINS1_15take_width_viewINS3_INS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEEEENS1_12eof_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSG_b
Line
Count
Source
2950
724
{
2951
724
    if (!allow_exhaustion) {
2952
724
        auto it = read_while_classic_space(range);
2953
724
        if (auto e = eof_check(ranges::subrange{it, range.end()});
2954
724
            SCN_UNLIKELY(!e)) {
2955
0
            return unexpected(e);
2956
0
        }
2957
2958
724
        return it;
2959
724
    }
2960
2961
0
    return read_while_classic_space(range);
2962
724
}
Unexecuted instantiation: _ZN3scn2v34impl23skip_classic_whitespaceINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRNS3_9add_constIT_E4typeEEEEEEERKSB_b
2963
2964
template <typename SourceCharT, typename DestCharT>
2965
scan_error transcode_impl(std::basic_string_view<SourceCharT> src,
2966
                          std::basic_string<DestCharT>& dst)
2967
12.5k
{
2968
12.5k
    dst.clear();
2969
12.5k
    transcode_valid_to_string(src, dst);
2970
12.5k
    return {};
2971
12.5k
}
scn::v3::scan_error scn::v3::impl::transcode_impl<char, wchar_t>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2967
1.98k
{
2968
1.98k
    dst.clear();
2969
1.98k
    transcode_valid_to_string(src, dst);
2970
1.98k
    return {};
2971
1.98k
}
scn::v3::scan_error scn::v3::impl::transcode_impl<wchar_t, char>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2967
10.5k
{
2968
10.5k
    dst.clear();
2969
10.5k
    transcode_valid_to_string(src, dst);
2970
10.5k
    return {};
2971
10.5k
}
2972
2973
template <typename SourceCharT, typename DestCharT>
2974
scan_error transcode_if_necessary(
2975
    const contiguous_range_factory<SourceCharT>& source,
2976
    std::basic_string<DestCharT>& dest)
2977
{
2978
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2979
        dest.assign(source.view());
2980
    }
2981
    else {
2982
        return transcode_impl(source.view(), dest);
2983
    }
2984
2985
    return {};
2986
}
2987
2988
template <typename SourceCharT, typename DestCharT>
2989
scan_error transcode_if_necessary(
2990
    contiguous_range_factory<SourceCharT>&& source,
2991
    std::basic_string<DestCharT>& dest)
2992
3.88M
{
2993
3.88M
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
3.88M
        if (source.stores_allocated_string()) {
2995
8.39k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
8.39k
        }
2997
3.87M
        else {
2998
3.87M
            dest.assign(source.view());
2999
3.87M
        }
3000
3.88M
    }
3001
424
    else {
3002
424
        return transcode_impl(source.view(), dest);
3003
424
    }
3004
3005
0
    return {};
3006
3.88M
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, char>(scn::v3::impl::contiguous_range_factory<char>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2992
296k
{
2993
296k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
296k
        if (source.stores_allocated_string()) {
2995
5.28k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
5.28k
        }
2997
291k
        else {
2998
291k
            dest.assign(source.view());
2999
291k
        }
3000
296k
    }
3001
296k
    else {
3002
296k
        return transcode_impl(source.view(), dest);
3003
296k
    }
3004
3005
296k
    return {};
3006
296k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, wchar_t>(scn::v3::impl::contiguous_range_factory<char>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2992
350
{
2993
350
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
350
        if (source.stores_allocated_string()) {
2995
350
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
350
        }
2997
350
        else {
2998
350
            dest.assign(source.view());
2999
350
        }
3000
350
    }
3001
350
    else {
3002
350
        return transcode_impl(source.view(), dest);
3003
350
    }
3004
3005
0
    return {};
3006
350
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, char>(scn::v3::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
2992
74
{
2993
74
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
74
        if (source.stores_allocated_string()) {
2995
74
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
74
        }
2997
74
        else {
2998
74
            dest.assign(source.view());
2999
74
        }
3000
74
    }
3001
74
    else {
3002
74
        return transcode_impl(source.view(), dest);
3003
74
    }
3004
3005
0
    return {};
3006
74
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v3::impl::contiguous_range_factory<wchar_t>&&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
2992
3.58M
{
2993
3.58M
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
2994
3.58M
        if (source.stores_allocated_string()) {
2995
3.11k
            dest.assign(SCN_MOVE(source.get_allocated_string()));
2996
3.11k
        }
2997
3.58M
        else {
2998
3.58M
            dest.assign(source.view());
2999
3.58M
        }
3000
3.58M
    }
3001
3.58M
    else {
3002
3.58M
        return transcode_impl(source.view(), dest);
3003
3.58M
    }
3004
3005
3.58M
    return {};
3006
3.58M
}
3007
3008
template <typename SourceCharT, typename DestCharT>
3009
scan_error transcode_if_necessary(string_view_wrapper<SourceCharT> source,
3010
                                  std::basic_string<DestCharT>& dest)
3011
3.86M
{
3012
3.86M
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
12.1k
        dest.assign(source.view());
3014
12.1k
    }
3015
12.1k
    else {
3016
12.1k
        return transcode_impl(source.view(), dest);
3017
12.1k
    }
3018
3019
0
    return {};
3020
3.86M
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, char>(scn::v3::impl::string_view_wrapper<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3011
261k
{
3012
261k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
261k
        dest.assign(source.view());
3014
261k
    }
3015
261k
    else {
3016
261k
        return transcode_impl(source.view(), dest);
3017
261k
    }
3018
3019
261k
    return {};
3020
261k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<char, wchar_t>(scn::v3::impl::string_view_wrapper<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3011
1.63k
{
3012
1.63k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
1.63k
        dest.assign(source.view());
3014
1.63k
    }
3015
1.63k
    else {
3016
1.63k
        return transcode_impl(source.view(), dest);
3017
1.63k
    }
3018
3019
0
    return {};
3020
1.63k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, char>(scn::v3::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
3011
10.5k
{
3012
10.5k
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
10.5k
        dest.assign(source.view());
3014
10.5k
    }
3015
10.5k
    else {
3016
10.5k
        return transcode_impl(source.view(), dest);
3017
10.5k
    }
3018
3019
0
    return {};
3020
10.5k
}
scn::v3::scan_error scn::v3::impl::transcode_if_necessary<wchar_t, wchar_t>(scn::v3::impl::string_view_wrapper<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
3011
3.59M
{
3012
3.59M
    if constexpr (std::is_same_v<SourceCharT, DestCharT>) {
3013
3.59M
        dest.assign(source.view());
3014
3.59M
    }
3015
3.59M
    else {
3016
3.59M
        return transcode_impl(source.view(), dest);
3017
3.59M
    }
3018
3019
3.59M
    return {};
3020
3.59M
}
3021
3022
/////////////////////////////////////////////////////////////////
3023
// Reader base classes etc.
3024
/////////////////////////////////////////////////////////////////
3025
3026
template <typename Derived, typename CharT>
3027
class reader_base {
3028
public:
3029
    using char_type = CharT;
3030
3031
    constexpr reader_base() = default;
3032
3033
    bool skip_ws_before_read() const
3034
12.8M
    {
3035
12.8M
        return true;
3036
12.8M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
7.45M
    {
3035
7.45M
        return true;
3036
7.45M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
3.72M
    {
3035
3.72M
        return true;
3036
3.72M
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::skip_ws_before_read() const
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
733k
    {
3035
733k
        return true;
3036
733k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
913k
    {
3035
913k
        return true;
3036
913k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::skip_ws_before_read() const
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::skip_ws_before_read() const
Line
Count
Source
3034
1.35k
    {
3035
1.35k
        return true;
3036
1.35k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::skip_ws_before_read() const
Line
Count
Source
3034
10.7k
    {
3035
10.7k
        return true;
3036
10.7k
    }
3037
3038
    scan_error check_specs(const detail::format_specs& specs)
3039
10.8M
    {
3040
10.8M
        reader_error_handler eh{};
3041
10.8M
        get_derived().check_specs_impl(specs, eh);
3042
10.8M
        if (SCN_UNLIKELY(!eh)) {
3043
69.1k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
69.1k
        }
3045
10.7M
        return {};
3046
10.8M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
3.40M
    {
3040
3.40M
        reader_error_handler eh{};
3041
3.40M
        get_derived().check_specs_impl(specs, eh);
3042
3.40M
        if (SCN_UNLIKELY(!eh)) {
3043
9.46k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
9.46k
        }
3045
3.39M
        return {};
3046
3.40M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
1.61M
    {
3040
1.61M
        reader_error_handler eh{};
3041
1.61M
        get_derived().check_specs_impl(specs, eh);
3042
1.61M
        if (SCN_UNLIKELY(!eh)) {
3043
4.73k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
4.73k
        }
3045
1.60M
        return {};
3046
1.61M
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
388k
    {
3040
388k
        reader_error_handler eh{};
3041
388k
        get_derived().check_specs_impl(specs, eh);
3042
388k
        if (SCN_UNLIKELY(!eh)) {
3043
14.2k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
14.2k
        }
3045
373k
        return {};
3046
388k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::check_specs(scn::v3::detail::format_specs const&)
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
571k
    {
3040
571k
        reader_error_handler eh{};
3041
571k
        get_derived().check_specs_impl(specs, eh);
3042
571k
        if (SCN_UNLIKELY(!eh)) {
3043
4.12k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
4.12k
        }
3045
567k
        return {};
3046
571k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
492k
    {
3040
492k
        reader_error_handler eh{};
3041
492k
        get_derived().check_specs_impl(specs, eh);
3042
492k
        if (SCN_UNLIKELY(!eh)) {
3043
2.07k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
2.07k
        }
3045
490k
        return {};
3046
492k
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
4.39M
    {
3040
4.39M
        reader_error_handler eh{};
3041
4.39M
        get_derived().check_specs_impl(specs, eh);
3042
4.39M
        if (SCN_UNLIKELY(!eh)) {
3043
27.9k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
27.9k
        }
3045
4.36M
        return {};
3046
4.39M
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
5.27k
    {
3040
5.27k
        reader_error_handler eh{};
3041
5.27k
        get_derived().check_specs_impl(specs, eh);
3042
5.27k
        if (SCN_UNLIKELY(!eh)) {
3043
4.55k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
4.55k
        }
3045
724
        return {};
3046
5.27k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
3039
2.51k
    {
3040
2.51k
        reader_error_handler eh{};
3041
2.51k
        get_derived().check_specs_impl(specs, eh);
3042
2.51k
        if (SCN_UNLIKELY(!eh)) {
3043
1.99k
            return {scan_error::invalid_format_string, eh.m_msg};
3044
1.99k
        }
3045
522
        return {};
3046
2.51k
    }
3047
3048
private:
3049
    Derived& get_derived()
3050
10.8M
    {
3051
10.8M
        return static_cast<Derived&>(*this);
3052
10.8M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<char>, char>::get_derived()
Line
Count
Source
3050
3.40M
    {
3051
3.40M
        return static_cast<Derived&>(*this);
3052
3.40M
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<char>, char>::get_derived()
Line
Count
Source
3050
1.61M
    {
3051
1.61M
        return static_cast<Derived&>(*this);
3052
1.61M
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<char>, char>::get_derived()
Line
Count
Source
3050
388k
    {
3051
388k
        return static_cast<Derived&>(*this);
3052
388k
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<char>, char>::get_derived()
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_int<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
571k
    {
3051
571k
        return static_cast<Derived&>(*this);
3052
571k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_float<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
492k
    {
3051
492k
        return static_cast<Derived&>(*this);
3052
492k
    }
scn::v3::impl::reader_base<scn::v3::impl::string_reader<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
4.39M
    {
3051
4.39M
        return static_cast<Derived&>(*this);
3052
4.39M
    }
Unexecuted instantiation: scn::v3::impl::reader_base<scn::v3::impl::regex_matches_reader<wchar_t>, wchar_t>::get_derived()
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<char>, char>::get_derived()
Line
Count
Source
3050
5.27k
    {
3051
5.27k
        return static_cast<Derived&>(*this);
3052
5.27k
    }
scn::v3::impl::reader_base<scn::v3::impl::reader_impl_for_bool<wchar_t>, wchar_t>::get_derived()
Line
Count
Source
3050
2.51k
    {
3051
2.51k
        return static_cast<Derived&>(*this);
3052
2.51k
    }
3053
    const Derived& get_derived() const
3054
    {
3055
        return static_cast<const Derived&>(*this);
3056
    }
3057
};
3058
3059
template <typename CharT>
3060
class reader_impl_for_monostate {
3061
public:
3062
    constexpr reader_impl_for_monostate() = default;
3063
3064
    bool skip_ws_before_read() const
3065
0
    {
3066
0
        return true;
3067
0
    }
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<char>::skip_ws_before_read() const
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<wchar_t>::skip_ws_before_read() const
3068
3069
    static scan_error check_specs(const detail::format_specs&)
3070
0
    {
3071
0
        SCN_EXPECT(false);
3072
0
        SCN_UNREACHABLE;
3073
0
    }
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<char>::check_specs(scn::v3::detail::format_specs const&)
Unexecuted instantiation: scn::v3::impl::reader_impl_for_monostate<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
3074
3075
    template <typename Range>
3076
    auto read_default(Range, monostate&, detail::locale_ref)
3077
        -> scan_expected<ranges::const_iterator_t<Range>>
3078
0
    {
3079
0
        SCN_EXPECT(false);
3080
0
        SCN_UNREACHABLE;
3081
0
    }
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_9monostateENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_9monostateENS9_10locale_refE
3082
3083
    template <typename Range>
3084
    auto read_specs(Range,
3085
                    const detail::format_specs&,
3086
                    monostate&,
3087
                    detail::locale_ref)
3088
        -> scan_expected<ranges::const_iterator_t<Range>>
3089
0
    {
3090
0
        SCN_EXPECT(false);
3091
0
        SCN_UNREACHABLE;
3092
0
    }
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_9monostateENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_9monostateENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_9monostateENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl25reader_impl_for_monostateIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_9monostateENS9_10locale_refE
3093
};
3094
3095
/////////////////////////////////////////////////////////////////
3096
// Numeric reader support
3097
/////////////////////////////////////////////////////////////////
3098
3099
enum class sign_type { default_sign = -1, minus_sign = 0, plus_sign = 1 };
3100
3101
inline constexpr std::array<uint8_t, 256> char_to_int_table = {
3102
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3103
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3104
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3105
    255, 255, 255, 0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   255, 255,
3106
    255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,  18,  19,
3107
    20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,  33,  34,
3108
    35,  255, 255, 255, 255, 255, 255, 10,  11,  12,  13,  14,  15,  16,  17,
3109
    18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,  29,  30,  31,  32,
3110
    33,  34,  35,  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3111
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3112
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3113
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3114
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3115
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3116
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3117
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3118
    255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
3119
    255};
3120
3121
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(char ch)
3122
45.9M
{
3123
45.9M
    return char_to_int_table[static_cast<unsigned char>(ch)];
3124
45.9M
}
3125
SCN_NODISCARD SCN_FORCE_INLINE constexpr uint8_t char_to_int(wchar_t ch)
3126
3.05M
{
3127
3.05M
#if WCHAR_MIN < 0
3128
3.05M
    if (ch >= 0 && ch <= 255) {
3129
#else
3130
    if (ch <= 255) {
3131
#endif
3132
1.79M
        return char_to_int(static_cast<char>(ch));
3133
1.79M
    }
3134
1.26M
    return 255;
3135
3.05M
}
3136
3137
template <typename Range>
3138
auto parse_numeric_sign(Range range)
3139
    -> eof_expected<std::pair<ranges::const_iterator_t<Range>, sign_type>>
3140
8.09M
{
3141
8.09M
    auto r = read_one_of_code_unit(range, "+-");
3142
8.09M
    if (!r) {
3143
7.14M
        if (r.error() == parse_error::error) {
3144
7.14M
            return std::pair{range.begin(), sign_type::default_sign};
3145
7.14M
        }
3146
525
        return unexpected(eof_error::eof);
3147
7.14M
    }
3148
3149
948k
    auto& it = *r;
3150
948k
    if (*range.begin() == '-') {
3151
522k
        return std::pair{it, sign_type::minus_sign};
3152
522k
    }
3153
426k
    return std::pair{it, sign_type::plus_sign};
3154
948k
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
Line
Count
Source
3140
3.45M
{
3141
3.45M
    auto r = read_one_of_code_unit(range, "+-");
3142
3.45M
    if (!r) {
3143
2.96M
        if (r.error() == parse_error::error) {
3144
2.96M
            return std::pair{range.begin(), sign_type::default_sign};
3145
2.96M
        }
3146
336
        return unexpected(eof_error::eof);
3147
2.96M
    }
3148
3149
489k
    auto& it = *r;
3150
489k
    if (*range.begin() == '-') {
3151
260k
        return std::pair{it, sign_type::minus_sign};
3152
260k
    }
3153
229k
    return std::pair{it, sign_type::plus_sign};
3154
489k
}
_ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3140
1.07k
{
3141
1.07k
    auto r = read_one_of_code_unit(range, "+-");
3142
1.07k
    if (!r) {
3143
1.07k
        if (r.error() == parse_error::error) {
3144
1.07k
            return std::pair{range.begin(), sign_type::default_sign};
3145
1.07k
        }
3146
0
        return unexpected(eof_error::eof);
3147
1.07k
    }
3148
3149
0
    auto& it = *r;
3150
0
    if (*range.begin() == '-') {
3151
0
        return std::pair{it, sign_type::minus_sign};
3152
0
    }
3153
0
    return std::pair{it, sign_type::plus_sign};
3154
0
}
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3140
3.23M
{
3141
3.23M
    auto r = read_one_of_code_unit(range, "+-");
3142
3.23M
    if (!r) {
3143
2.78M
        if (r.error() == parse_error::error) {
3144
2.78M
            return std::pair{range.begin(), sign_type::default_sign};
3145
2.78M
        }
3146
108
        return unexpected(eof_error::eof);
3147
2.78M
    }
3148
3149
452k
    auto& it = *r;
3150
452k
    if (*range.begin() == '-') {
3151
255k
        return std::pair{it, sign_type::minus_sign};
3152
255k
    }
3153
196k
    return std::pair{it, sign_type::plus_sign};
3154
452k
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSG_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESJ_
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESH_
Line
Count
Source
3140
681k
{
3141
681k
    auto r = read_one_of_code_unit(range, "+-");
3142
681k
    if (!r) {
3143
677k
        if (r.error() == parse_error::error) {
3144
677k
            return std::pair{range.begin(), sign_type::default_sign};
3145
677k
        }
3146
61
        return unexpected(eof_error::eof);
3147
677k
    }
3148
3149
3.99k
    auto& it = *r;
3150
3.99k
    if (*range.begin() == '-') {
3151
3.50k
        return std::pair{it, sign_type::minus_sign};
3152
3.50k
    }
3153
490
    return std::pair{it, sign_type::plus_sign};
3154
3.99k
}
_ZN3scn2v34impl18parse_numeric_signINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESG_
Line
Count
Source
3140
472
{
3141
472
    auto r = read_one_of_code_unit(range, "+-");
3142
472
    if (!r) {
3143
472
        if (r.error() == parse_error::error) {
3144
472
            return std::pair{range.begin(), sign_type::default_sign};
3145
472
        }
3146
0
        return unexpected(eof_error::eof);
3147
472
    }
3148
3149
0
    auto& it = *r;
3150
0
    if (*range.begin() == '-') {
3151
0
        return std::pair{it, sign_type::minus_sign};
3152
0
    }
3153
0
    return std::pair{it, sign_type::plus_sign};
3154
0
}
_ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESE_
Line
Count
Source
3140
720k
{
3141
720k
    auto r = read_one_of_code_unit(range, "+-");
3142
720k
    if (!r) {
3143
717k
        if (r.error() == parse_error::error) {
3144
717k
            return std::pair{range.begin(), sign_type::default_sign};
3145
717k
        }
3146
20
        return unexpected(eof_error::eof);
3147
717k
    }
3148
3149
3.24k
    auto& it = *r;
3150
3.24k
    if (*range.begin() == '-') {
3151
2.84k
        return std::pair{it, sign_type::minus_sign};
3152
2.84k
    }
3153
394
    return std::pair{it, sign_type::plus_sign};
3154
3.24k
}
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESP_
Unexecuted instantiation: _ZN3scn2v34impl18parse_numeric_signINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_12eof_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENS1_9sign_typeEEEEESM_
3155
3156
inline void transform_thsep_indices(std::string& indices,
3157
                                    std::ptrdiff_t last_thsep_index)
3158
55.8k
{
3159
191M
    for (auto thsep_it = indices.rbegin(); thsep_it != indices.rend();
3160
191M
         ++thsep_it) {
3161
191M
        const auto tmp = *thsep_it;
3162
191M
        *thsep_it = static_cast<char>(last_thsep_index - tmp - 1);
3163
191M
        last_thsep_index = static_cast<std::ptrdiff_t>(tmp);
3164
191M
    }
3165
55.8k
    indices.insert(indices.begin(), static_cast<char>(last_thsep_index));
3166
55.8k
}
3167
3168
template <typename Range>
3169
bool check_thsep_grouping_impl(Range range,
3170
                               std::string& thsep_indices,
3171
                               std::string_view grouping)
3172
55.8k
{
3173
55.8k
    transform_thsep_indices(thsep_indices,
3174
55.8k
                            ranges::distance(range.begin(), range.end()));
3175
3176
55.8k
    auto thsep_it = thsep_indices.rbegin();
3177
55.8k
    for (auto grouping_it = grouping.begin();
3178
55.8k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
55.8k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
55.8k
    SCN_CLANG_PUSH
3186
    // false positive
3187
55.8k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
156k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
149k
        if (*thsep_it != grouping.back()) {
3191
48.8k
            return false;
3192
48.8k
        }
3193
149k
    }
3194
3195
6.98k
    if (thsep_it == thsep_indices.rend() - 1) {
3196
6.98k
        if (*thsep_it > grouping.back()) {
3197
2.35k
            return false;
3198
2.35k
        }
3199
6.98k
    }
3200
3201
4.62k
    SCN_CLANG_POP
3202
3203
4.62k
    return true;
3204
6.98k
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
4.44k
{
3173
4.44k
    transform_thsep_indices(thsep_indices,
3174
4.44k
                            ranges::distance(range.begin(), range.end()));
3175
3176
4.44k
    auto thsep_it = thsep_indices.rbegin();
3177
4.44k
    for (auto grouping_it = grouping.begin();
3178
4.44k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
4.44k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
4.44k
    SCN_CLANG_PUSH
3186
    // false positive
3187
4.44k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
54.2k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
50.8k
        if (*thsep_it != grouping.back()) {
3191
1.04k
            return false;
3192
1.04k
        }
3193
50.8k
    }
3194
3195
3.40k
    if (thsep_it == thsep_indices.rend() - 1) {
3196
3.40k
        if (*thsep_it > grouping.back()) {
3197
1.08k
            return false;
3198
1.08k
        }
3199
3.40k
    }
3200
3201
2.31k
    SCN_CLANG_POP
3202
3203
2.31k
    return true;
3204
3.40k
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
4.42k
{
3173
4.42k
    transform_thsep_indices(thsep_indices,
3174
4.42k
                            ranges::distance(range.begin(), range.end()));
3175
3176
4.42k
    auto thsep_it = thsep_indices.rbegin();
3177
4.42k
    for (auto grouping_it = grouping.begin();
3178
4.42k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
4.42k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
4.42k
    SCN_CLANG_PUSH
3186
    // false positive
3187
4.42k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
53.9k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
50.6k
        if (*thsep_it != grouping.back()) {
3191
1.03k
            return false;
3192
1.03k
        }
3193
50.6k
    }
3194
3195
3.38k
    if (thsep_it == thsep_indices.rend() - 1) {
3196
3.38k
        if (*thsep_it > grouping.back()) {
3197
1.07k
            return false;
3198
1.07k
        }
3199
3.38k
    }
3200
3201
2.31k
    SCN_CLANG_POP
3202
3203
2.31k
    return true;
3204
3.38k
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
23.4k
{
3173
23.4k
    transform_thsep_indices(thsep_indices,
3174
23.4k
                            ranges::distance(range.begin(), range.end()));
3175
3176
23.4k
    auto thsep_it = thsep_indices.rbegin();
3177
23.4k
    for (auto grouping_it = grouping.begin();
3178
23.4k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
23.4k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
23.4k
    SCN_CLANG_PUSH
3186
    // false positive
3187
23.4k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
24.0k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
23.9k
        if (*thsep_it != grouping.back()) {
3191
23.3k
            return false;
3192
23.3k
        }
3193
23.9k
    }
3194
3195
96
    if (thsep_it == thsep_indices.rend() - 1) {
3196
96
        if (*thsep_it > grouping.back()) {
3197
96
            return false;
3198
96
        }
3199
96
    }
3200
3201
0
    SCN_CLANG_POP
3202
3203
0
    return true;
3204
96
}
Unexecuted instantiation: bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
bool scn::v3::impl::check_thsep_grouping_impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3172
23.4k
{
3173
23.4k
    transform_thsep_indices(thsep_indices,
3174
23.4k
                            ranges::distance(range.begin(), range.end()));
3175
3176
23.4k
    auto thsep_it = thsep_indices.rbegin();
3177
23.4k
    for (auto grouping_it = grouping.begin();
3178
23.4k
         grouping_it != grouping.end() && thsep_it != thsep_indices.rend() - 1;
3179
23.4k
         ++grouping_it, (void)++thsep_it) {
3180
0
        if (*thsep_it != *grouping_it) {
3181
0
            return false;
3182
0
        }
3183
0
    }
3184
3185
23.4k
    SCN_CLANG_PUSH
3186
    // false positive
3187
23.4k
    SCN_CLANG_IGNORE("-Wzero-as-null-pointer-constant")
3188
3189
24.0k
    for (; thsep_it < thsep_indices.rend() - 1; ++thsep_it) {
3190
23.9k
        if (*thsep_it != grouping.back()) {
3191
23.3k
            return false;
3192
23.3k
        }
3193
23.9k
    }
3194
3195
96
    if (thsep_it == thsep_indices.rend() - 1) {
3196
96
        if (*thsep_it > grouping.back()) {
3197
96
            return false;
3198
96
        }
3199
96
    }
3200
3201
0
    SCN_CLANG_POP
3202
3203
0
    return true;
3204
96
}
3205
3206
template <typename Range>
3207
scan_error check_thsep_grouping(Range range,
3208
                                std::string thsep_indices,
3209
                                std::string_view grouping)
3210
55.8k
{
3211
55.8k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
55.8k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
51.1k
        SCN_UNLIKELY_ATTR
3215
51.1k
        return {scan_error::invalid_scanned_value,
3216
51.1k
                "Invalid thousands separator grouping"};
3217
51.1k
    }
3218
3219
4.62k
    return {};
3220
55.8k
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
4.44k
{
3211
4.44k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
4.44k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
2.13k
        SCN_UNLIKELY_ATTR
3215
2.13k
        return {scan_error::invalid_scanned_value,
3216
2.13k
                "Invalid thousands separator grouping"};
3217
2.13k
    }
3218
3219
2.31k
    return {};
3220
4.44k
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
4.42k
{
3211
4.42k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
4.42k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
2.11k
        SCN_UNLIKELY_ATTR
3215
2.11k
        return {scan_error::invalid_scanned_value,
3216
2.11k
                "Invalid thousands separator grouping"};
3217
2.11k
    }
3218
3219
2.31k
    return {};
3220
4.42k
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
23.4k
{
3211
23.4k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
23.4k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
23.4k
        SCN_UNLIKELY_ATTR
3215
23.4k
        return {scan_error::invalid_scanned_value,
3216
23.4k
                "Invalid thousands separator grouping"};
3217
23.4k
    }
3218
3219
0
    return {};
3220
23.4k
}
Unexecuted instantiation: scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
scn::v3::scan_error scn::v3::impl::check_thsep_grouping<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
3210
23.4k
{
3211
23.4k
    SCN_EXPECT(!thsep_indices.empty());
3212
3213
23.4k
    if (!check_thsep_grouping_impl(range, thsep_indices, grouping)) {
3214
23.4k
        SCN_UNLIKELY_ATTR
3215
23.4k
        return {scan_error::invalid_scanned_value,
3216
23.4k
                "Invalid thousands separator grouping"};
3217
23.4k
    }
3218
3219
0
    return {};
3220
23.4k
}
3221
3222
template <typename CharT>
3223
class numeric_reader {
3224
public:
3225
    contiguous_range_factory<CharT> m_buffer{};
3226
};
3227
3228
/////////////////////////////////////////////////////////////////
3229
// Integer reader
3230
/////////////////////////////////////////////////////////////////
3231
3232
template <typename Iterator>
3233
struct parse_integer_prefix_result {
3234
    SCN_NO_UNIQUE_ADDRESS Iterator iterator;
3235
    int parsed_base{0};
3236
    sign_type sign{sign_type::default_sign};
3237
    bool is_zero{false};
3238
};
3239
3240
template <typename Range>
3241
auto parse_integer_bin_base_prefix(Range range)
3242
    -> parse_expected<ranges::const_iterator_t<Range>>
3243
1.24M
{
3244
1.24M
    return read_matching_string_classic_nocase(range, "0b");
3245
1.24M
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3243
528k
{
3244
528k
    return read_matching_string_classic_nocase(range, "0b");
3245
528k
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3243
34
{
3244
34
    return read_matching_string_classic_nocase(range, "0b");
3245
34
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3243
525k
{
3244
525k
    return read_matching_string_classic_nocase(range, "0b");
3245
525k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3243
93.7k
{
3244
93.7k
    return read_matching_string_classic_nocase(range, "0b");
3245
93.7k
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3243
24
{
3244
24
    return read_matching_string_classic_nocase(range, "0b");
3245
24
}
_ZN3scn2v34impl29parse_integer_bin_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3243
93.7k
{
3244
93.7k
    return read_matching_string_classic_nocase(range, "0b");
3245
93.7k
}
3246
3247
template <typename Range>
3248
auto parse_integer_hex_base_prefix(Range range)
3249
    -> parse_expected<ranges::const_iterator_t<Range>>
3250
1.87M
{
3251
1.87M
    return read_matching_string_classic_nocase(range, "0x");
3252
1.87M
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3250
840k
{
3251
840k
    return read_matching_string_classic_nocase(range, "0x");
3252
840k
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3250
276
{
3251
276
    return read_matching_string_classic_nocase(range, "0x");
3252
276
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3250
836k
{
3251
836k
    return read_matching_string_classic_nocase(range, "0x");
3252
836k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_
Line
Count
Source
3250
93.9k
{
3251
93.9k
    return read_matching_string_classic_nocase(range, "0x");
3252
93.9k
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_
Line
Count
Source
3250
122
{
3251
122
    return read_matching_string_classic_nocase(range, "0x");
3252
122
}
_ZN3scn2v34impl29parse_integer_hex_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_
Line
Count
Source
3250
104k
{
3251
104k
    return read_matching_string_classic_nocase(range, "0x");
3252
104k
}
3253
3254
template <typename Range>
3255
auto parse_integer_oct_base_prefix(Range range, bool& zero_parsed)
3256
    -> parse_expected<ranges::const_iterator_t<Range>>
3257
1.36M
{
3258
1.36M
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
12.7k
        return *r;
3260
12.7k
    }
3261
3262
1.35M
    if (auto r = read_matching_code_unit(range, '0')) {
3263
543k
        zero_parsed = true;
3264
543k
        return *r;
3265
543k
    }
3266
3267
807k
    return unexpected(parse_error::error);
3268
1.35M
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
3257
589k
{
3258
589k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
6.36k
        return *r;
3260
6.36k
    }
3261
3262
582k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
272k
        zero_parsed = true;
3264
272k
        return *r;
3265
272k
    }
3266
3267
310k
    return unexpected(parse_error::error);
3268
582k
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3257
34
{
3258
34
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
34
    if (auto r = read_matching_code_unit(range, '0')) {
3263
0
        zero_parsed = true;
3264
0
        return *r;
3265
0
    }
3266
3267
34
    return unexpected(parse_error::error);
3268
34
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3257
586k
{
3258
586k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
6.36k
        return *r;
3260
6.36k
    }
3261
3262
580k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
270k
        zero_parsed = true;
3264
270k
        return *r;
3265
270k
    }
3266
3267
310k
    return unexpected(parse_error::error);
3268
580k
}
Unexecuted instantiation: _ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_Rb
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
3257
93.8k
{
3258
93.8k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
93.8k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
356
        zero_parsed = true;
3264
356
        return *r;
3265
356
    }
3266
3267
93.4k
    return unexpected(parse_error::error);
3268
93.8k
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_Rb
Line
Count
Source
3257
30
{
3258
30
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
30
    if (auto r = read_matching_code_unit(range, '0')) {
3263
0
        zero_parsed = true;
3264
0
        return *r;
3265
0
    }
3266
3267
30
    return unexpected(parse_error::error);
3268
30
}
_ZN3scn2v34impl29parse_integer_oct_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_14parse_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_Rb
Line
Count
Source
3257
93.8k
{
3258
93.8k
    if (auto r = read_matching_string_classic_nocase(range, "0o")) {
3259
0
        return *r;
3260
0
    }
3261
3262
93.8k
    if (auto r = read_matching_code_unit(range, '0')) {
3263
356
        zero_parsed = true;
3264
356
        return *r;
3265
356
    }
3266
3267
93.4k
    return unexpected(parse_error::error);
3268
93.8k
}
3269
3270
template <typename Range>
3271
auto parse_integer_base_prefix_for_detection(Range range)
3272
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3273
1.02M
{
3274
1.02M
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
9.80k
        return {*r, 16, false};
3276
9.80k
    }
3277
1.01M
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
4.74k
        return {*r, 2, false};
3279
4.74k
    }
3280
1.01M
    {
3281
1.01M
        bool zero_parsed{false};
3282
1.01M
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
436k
            return {*r, 8, zero_parsed};
3284
436k
        }
3285
1.01M
    }
3286
577k
    return {range.begin(), 10, false};
3287
1.01M
}
Unexecuted instantiation: _ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
Line
Count
Source
3273
468k
{
3274
468k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
4.98k
        return {*r, 16, false};
3276
4.98k
    }
3277
463k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
2.37k
        return {*r, 2, false};
3279
2.37k
    }
3280
461k
    {
3281
461k
        bool zero_parsed{false};
3282
461k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
219k
            return {*r, 8, zero_parsed};
3284
219k
        }
3285
461k
    }
3286
242k
    return {range.begin(), 10, false};
3287
461k
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3273
20
{
3274
20
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
20
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
20
    {
3281
20
        bool zero_parsed{false};
3282
20
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
0
            return {*r, 8, zero_parsed};
3284
0
        }
3285
20
    }
3286
20
    return {range.begin(), 10, false};
3287
20
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3273
466k
{
3274
466k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
4.82k
        return {*r, 16, false};
3276
4.82k
    }
3277
461k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
2.37k
        return {*r, 2, false};
3279
2.37k
    }
3280
458k
    {
3281
458k
        bool zero_parsed{false};
3282
458k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
217k
            return {*r, 8, zero_parsed};
3284
217k
        }
3285
458k
    }
3286
241k
    return {range.begin(), 10, false};
3287
458k
}
Unexecuted instantiation: _ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_
Line
Count
Source
3273
46.9k
{
3274
46.9k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
46.9k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
46.9k
    {
3281
46.9k
        bool zero_parsed{false};
3282
46.9k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
188
            return {*r, 8, zero_parsed};
3284
188
        }
3285
46.9k
    }
3286
46.8k
    return {range.begin(), 10, false};
3287
46.9k
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_
Line
Count
Source
3273
18
{
3274
18
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
18
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
18
    {
3281
18
        bool zero_parsed{false};
3282
18
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
0
            return {*r, 8, zero_parsed};
3284
0
        }
3285
18
    }
3286
18
    return {range.begin(), 10, false};
3287
18
}
_ZN3scn2v34impl39parse_integer_base_prefix_for_detectionINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_
Line
Count
Source
3273
47.0k
{
3274
47.0k
    if (auto r = parse_integer_hex_base_prefix(range)) {
3275
0
        return {*r, 16, false};
3276
0
    }
3277
47.0k
    if (auto r = parse_integer_bin_base_prefix(range)) {
3278
0
        return {*r, 2, false};
3279
0
    }
3280
47.0k
    {
3281
47.0k
        bool zero_parsed{false};
3282
47.0k
        if (auto r = parse_integer_oct_base_prefix(range, zero_parsed)) {
3283
188
            return {*r, 8, zero_parsed};
3284
188
        }
3285
47.0k
    }
3286
46.8k
    return {range.begin(), 10, false};
3287
47.0k
}
3288
3289
template <typename Range>
3290
auto parse_integer_base_prefix(Range range, int base)
3291
    -> std::tuple<ranges::const_iterator_t<Range>, int, bool>
3292
5.06M
{
3293
5.06M
    switch (base) {
3294
222k
        case 2:
3295
            // allow 0b/0B
3296
222k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
222k
                    false};
3298
3299
349k
        case 8: {
3300
            // allow 0o/0O/0
3301
349k
            bool zero_parsed = false;
3302
349k
            auto it = apply_opt(
3303
349k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
349k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
846k
        case 16:
3308
            // allow 0x/0X
3309
846k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
846k
                    false};
3311
3312
1.02M
        case 0:
3313
            // detect base
3314
1.02M
            return parse_integer_base_prefix_for_detection(range);
3315
3316
2.61M
        default:
3317
            // no base prefix allowed
3318
2.61M
            return {range.begin(), base, false};
3319
5.06M
    }
3320
5.06M
}
Unexecuted instantiation: _ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
Line
Count
Source
3292
2.16M
{
3293
2.16M
    switch (base) {
3294
64.8k
        case 2:
3295
            // allow 0b/0B
3296
64.8k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
64.8k
                    false};
3298
3299
127k
        case 8: {
3300
            // allow 0o/0O/0
3301
127k
            bool zero_parsed = false;
3302
127k
            auto it = apply_opt(
3303
127k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
127k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
371k
        case 16:
3308
            // allow 0x/0X
3309
371k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
371k
                    false};
3311
3312
468k
        case 0:
3313
            // detect base
3314
468k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
1.13M
        default:
3317
            // no base prefix allowed
3318
1.13M
            return {range.begin(), base, false};
3319
2.16M
    }
3320
2.16M
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3292
806
{
3293
806
    switch (base) {
3294
14
        case 2:
3295
            // allow 0b/0B
3296
14
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
14
                    false};
3298
3299
14
        case 8: {
3300
            // allow 0o/0O/0
3301
14
            bool zero_parsed = false;
3302
14
            auto it = apply_opt(
3303
14
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
14
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
256
        case 16:
3308
            // allow 0x/0X
3309
256
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
256
                    false};
3311
3312
20
        case 0:
3313
            // detect base
3314
20
            return parse_integer_base_prefix_for_detection(range);
3315
3316
502
        default:
3317
            // no base prefix allowed
3318
502
            return {range.begin(), base, false};
3319
806
    }
3320
806
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3292
2.16M
{
3293
2.16M
    switch (base) {
3294
64.6k
        case 2:
3295
            // allow 0b/0B
3296
64.6k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
64.6k
                    false};
3298
3299
127k
        case 8: {
3300
            // allow 0o/0O/0
3301
127k
            bool zero_parsed = false;
3302
127k
            auto it = apply_opt(
3303
127k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
127k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
370k
        case 16:
3308
            // allow 0x/0X
3309
370k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
370k
                    false};
3311
3312
466k
        case 0:
3313
            // detect base
3314
466k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
1.13M
        default:
3317
            // no base prefix allowed
3318
1.13M
            return {range.begin(), base, false};
3319
2.16M
    }
3320
2.16M
}
Unexecuted instantiation: _ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSL_9add_constIT_E4typeEEEEEibEEESO_i
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSD_9add_constIT_E4typeEEEEEibEEESG_i
Line
Count
Source
3292
351k
{
3293
351k
    switch (base) {
3294
46.7k
        case 2:
3295
            // allow 0b/0B
3296
46.7k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
46.7k
                    false};
3298
3299
46.8k
        case 8: {
3300
            // allow 0o/0O/0
3301
46.8k
            bool zero_parsed = false;
3302
46.8k
            auto it = apply_opt(
3303
46.8k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
46.8k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
46.9k
        case 16:
3308
            // allow 0x/0X
3309
46.9k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
46.9k
                    false};
3311
3312
46.9k
        case 0:
3313
            // detect base
3314
46.9k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
164k
        default:
3317
            // no base prefix allowed
3318
164k
            return {range.begin(), base, false};
3319
351k
    }
3320
351k
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSI_9add_constIT_E4typeEEEEEibEEESL_i
Line
Count
Source
3292
358
{
3293
358
    switch (base) {
3294
6
        case 2:
3295
            // allow 0b/0B
3296
6
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
6
                    false};
3298
3299
12
        case 8: {
3300
            // allow 0o/0O/0
3301
12
            bool zero_parsed = false;
3302
12
            auto it = apply_opt(
3303
12
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
12
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
104
        case 16:
3308
            // allow 0x/0X
3309
104
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
104
                    false};
3311
3312
18
        case 0:
3313
            // detect base
3314
18
            return parse_integer_base_prefix_for_detection(range);
3315
3316
218
        default:
3317
            // no base prefix allowed
3318
218
            return {range.begin(), base, false};
3319
358
    }
3320
358
}
_ZN3scn2v34impl25parse_integer_base_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSA_9add_constIT_E4typeEEEEEibEEESD_i
Line
Count
Source
3292
383k
{
3293
383k
    switch (base) {
3294
46.7k
        case 2:
3295
            // allow 0b/0B
3296
46.7k
            return {apply_opt(parse_integer_bin_base_prefix(range), range), 2,
3297
46.7k
                    false};
3298
3299
46.8k
        case 8: {
3300
            // allow 0o/0O/0
3301
46.8k
            bool zero_parsed = false;
3302
46.8k
            auto it = apply_opt(
3303
46.8k
                parse_integer_oct_base_prefix(range, zero_parsed), range);
3304
46.8k
            return {it, 8, zero_parsed};
3305
0
        }
3306
3307
57.4k
        case 16:
3308
            // allow 0x/0X
3309
57.4k
            return {apply_opt(parse_integer_hex_base_prefix(range), range), 16,
3310
57.4k
                    false};
3311
3312
47.0k
        case 0:
3313
            // detect base
3314
47.0k
            return parse_integer_base_prefix_for_detection(range);
3315
3316
185k
        default:
3317
            // no base prefix allowed
3318
185k
            return {range.begin(), base, false};
3319
383k
    }
3320
383k
}
3321
3322
template <typename Range>
3323
auto parse_integer_prefix(Range range, int base) -> eof_expected<
3324
    parse_integer_prefix_result<ranges::const_iterator_t<Range>>>
3325
5.06M
{
3326
5.06M
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
5.06M
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
5.06M
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
5.06M
        parse_integer_base_prefix(
3331
5.06M
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
5.06M
    if (parsed_zero) {
3334
543k
        if (digits_begin_it == range.end() ||
3335
543k
            char_to_int(*digits_begin_it) >= 8) {
3336
318k
            digits_begin_it = base_prefix_begin_it;
3337
318k
        }
3338
224k
        else {
3339
224k
            parsed_zero = false;
3340
224k
        }
3341
543k
    }
3342
4.51M
    else {
3343
4.51M
        if (digits_begin_it == range.end() ||
3344
4.51M
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
927k
            digits_begin_it = base_prefix_begin_it;
3346
927k
        }
3347
4.51M
    }
3348
3349
5.06M
    if (sign == sign_type::default_sign) {
3350
4.69M
        sign = sign_type::plus_sign;
3351
4.69M
    }
3352
5.06M
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
5.06M
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
5.06M
}
Unexecuted instantiation: _ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
Line
Count
Source
3325
2.16M
{
3326
2.16M
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
2.16M
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
2.16M
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
2.16M
        parse_integer_base_prefix(
3331
2.16M
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
2.16M
    if (parsed_zero) {
3334
272k
        if (digits_begin_it == range.end() ||
3335
272k
            char_to_int(*digits_begin_it) >= 8) {
3336
159k
            digits_begin_it = base_prefix_begin_it;
3337
159k
        }
3338
112k
        else {
3339
112k
            parsed_zero = false;
3340
112k
        }
3341
272k
    }
3342
1.89M
    else {
3343
1.89M
        if (digits_begin_it == range.end() ||
3344
1.89M
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
98.3k
            digits_begin_it = base_prefix_begin_it;
3346
98.3k
        }
3347
1.89M
    }
3348
3349
2.16M
    if (sign == sign_type::default_sign) {
3350
1.98M
        sign = sign_type::plus_sign;
3351
1.98M
    }
3352
2.16M
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
2.16M
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
2.16M
}
_ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3325
806
{
3326
806
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
806
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
806
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
806
        parse_integer_base_prefix(
3331
806
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
806
    if (parsed_zero) {
3334
0
        if (digits_begin_it == range.end() ||
3335
0
            char_to_int(*digits_begin_it) >= 8) {
3336
0
            digits_begin_it = base_prefix_begin_it;
3337
0
        }
3338
0
        else {
3339
0
            parsed_zero = false;
3340
0
        }
3341
0
    }
3342
806
    else {
3343
806
        if (digits_begin_it == range.end() ||
3344
806
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
806
            digits_begin_it = base_prefix_begin_it;
3346
806
        }
3347
806
    }
3348
3349
806
    if (sign == sign_type::default_sign) {
3350
806
        sign = sign_type::plus_sign;
3351
806
    }
3352
806
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
806
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
806
}
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3325
2.16M
{
3326
2.16M
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
2.16M
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
2.16M
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
2.16M
        parse_integer_base_prefix(
3331
2.16M
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
2.16M
    if (parsed_zero) {
3334
270k
        if (digits_begin_it == range.end() ||
3335
270k
            char_to_int(*digits_begin_it) >= 8) {
3336
157k
            digits_begin_it = base_prefix_begin_it;
3337
157k
        }
3338
112k
        else {
3339
112k
            parsed_zero = false;
3340
112k
        }
3341
270k
    }
3342
1.89M
    else {
3343
1.89M
        if (digits_begin_it == range.end() ||
3344
1.89M
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
102k
            digits_begin_it = base_prefix_begin_it;
3346
102k
        }
3347
1.89M
    }
3348
3349
2.16M
    if (sign == sign_type::default_sign) {
3350
1.98M
        sign = sign_type::plus_sign;
3351
1.98M
    }
3352
2.16M
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
2.16M
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
2.16M
}
Unexecuted instantiation: _ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESJ_i
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESH_i
Line
Count
Source
3325
351k
{
3326
351k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
351k
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
351k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
351k
        parse_integer_base_prefix(
3331
351k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
351k
    if (parsed_zero) {
3334
356
        if (digits_begin_it == range.end() ||
3335
356
            char_to_int(*digits_begin_it) >= 8) {
3336
260
            digits_begin_it = base_prefix_begin_it;
3337
260
        }
3338
96
        else {
3339
96
            parsed_zero = false;
3340
96
        }
3341
356
    }
3342
351k
    else {
3343
351k
        if (digits_begin_it == range.end() ||
3344
351k
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
346k
            digits_begin_it = base_prefix_begin_it;
3346
346k
        }
3347
351k
    }
3348
3349
351k
    if (sign == sign_type::default_sign) {
3350
349k
        sign = sign_type::plus_sign;
3351
349k
    }
3352
351k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
351k
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
351k
}
_ZN3scn2v34impl20parse_integer_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESG_i
Line
Count
Source
3325
358
{
3326
358
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
358
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
358
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
358
        parse_integer_base_prefix(
3331
358
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
358
    if (parsed_zero) {
3334
0
        if (digits_begin_it == range.end() ||
3335
0
            char_to_int(*digits_begin_it) >= 8) {
3336
0
            digits_begin_it = base_prefix_begin_it;
3337
0
        }
3338
0
        else {
3339
0
            parsed_zero = false;
3340
0
        }
3341
0
    }
3342
358
    else {
3343
358
        if (digits_begin_it == range.end() ||
3344
358
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
358
            digits_begin_it = base_prefix_begin_it;
3346
358
        }
3347
358
    }
3348
3349
358
    if (sign == sign_type::default_sign) {
3350
358
        sign = sign_type::plus_sign;
3351
358
    }
3352
358
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
358
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
358
}
_ZN3scn2v34impl20parse_integer_prefixINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedINS1_27parse_integer_prefix_resultIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEEEESE_i
Line
Count
Source
3325
383k
{
3326
383k
    SCN_TRY(sign_result, parse_numeric_sign(range));
3327
383k
    auto [base_prefix_begin_it, sign] = sign_result;
3328
3329
383k
    auto [digits_begin_it, parsed_base, parsed_zero] =
3330
383k
        parse_integer_base_prefix(
3331
383k
            ranges::subrange{base_prefix_begin_it, range.end()}, base);
3332
3333
383k
    if (parsed_zero) {
3334
356
        if (digits_begin_it == range.end() ||
3335
356
            char_to_int(*digits_begin_it) >= 8) {
3336
260
            digits_begin_it = base_prefix_begin_it;
3337
260
        }
3338
96
        else {
3339
96
            parsed_zero = false;
3340
96
        }
3341
356
    }
3342
383k
    else {
3343
383k
        if (digits_begin_it == range.end() ||
3344
383k
            char_to_int(*digits_begin_it) >= parsed_base) {
3345
378k
            digits_begin_it = base_prefix_begin_it;
3346
378k
        }
3347
383k
    }
3348
3349
383k
    if (sign == sign_type::default_sign) {
3350
381k
        sign = sign_type::plus_sign;
3351
381k
    }
3352
383k
    return parse_integer_prefix_result<ranges::const_iterator_t<Range>>{
3353
383k
        digits_begin_it, parsed_base, sign, parsed_zero};
3354
383k
}
3355
3356
template <typename Range>
3357
auto parse_integer_digits_without_thsep(Range range, int base)
3358
    -> scan_expected<ranges::const_iterator_t<Range>>
3359
3.94M
{
3360
3.94M
    using char_type = detail::char_t<Range>;
3361
3362
3.94M
    if constexpr (ranges::contiguous_range<Range>) {
3363
1.98M
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
1.65k
            return unexpected_scan_error(
3365
1.65k
                scan_error::invalid_scanned_value,
3366
1.65k
                "Failed to parse integer: No digits found");
3367
1.65k
        }
3368
1.98M
        return range.end();
3369
1.98M
    }
3370
1.95M
    else {
3371
1.95M
        return read_while1_code_unit(range,
3372
6.81M
                                     [&](char_type ch) noexcept {
3373
6.81M
                                         return char_to_int(ch) < base;
3374
6.81M
                                     })
Unexecuted instantiation: _ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlcE_clEc
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlcE_clEc
Line
Count
Source
3372
6.49M
                                     [&](char_type ch) noexcept {
3373
6.49M
                                         return char_to_int(ch) < base;
3374
6.49M
                                     })
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlcE_clEc
Line
Count
Source
3372
790
                                     [&](char_type ch) noexcept {
3373
790
                                         return char_to_int(ch) < base;
3374
790
                                     })
Unexecuted instantiation: _ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_iENKUlwE_clEw
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_iENKUlwE_clEw
Line
Count
Source
3372
314k
                                     [&](char_type ch) noexcept {
3373
314k
                                         return char_to_int(ch) < base;
3374
314k
                                     })
_ZZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_iENKUlwE_clEw
Line
Count
Source
3372
346
                                     [&](char_type ch) noexcept {
3373
346
                                         return char_to_int(ch) < base;
3374
346
                                     })
3375
1.95M
            .transform_error(map_parse_error_to_scan_error(
3376
1.95M
                scan_error::invalid_scanned_value,
3377
1.95M
                "Failed to parse integer: No digits found"));
3378
1.95M
    }
3379
3.94M
}
Unexecuted instantiation: _ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
Line
Count
Source
3359
1.65M
{
3360
1.65M
    using char_type = detail::char_t<Range>;
3361
3362
1.65M
    if constexpr (ranges::contiguous_range<Range>) {
3363
1.65M
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
1.65M
            return unexpected_scan_error(
3365
1.65M
                scan_error::invalid_scanned_value,
3366
1.65M
                "Failed to parse integer: No digits found");
3367
1.65M
        }
3368
1.65M
        return range.end();
3369
1.65M
    }
3370
1.65M
    else {
3371
1.65M
        return read_while1_code_unit(range,
3372
1.65M
                                     [&](char_type ch) noexcept {
3373
1.65M
                                         return char_to_int(ch) < base;
3374
1.65M
                                     })
3375
1.65M
            .transform_error(map_parse_error_to_scan_error(
3376
1.65M
                scan_error::invalid_scanned_value,
3377
1.65M
                "Failed to parse integer: No digits found"));
3378
1.65M
    }
3379
1.65M
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3359
790
{
3360
790
    using char_type = detail::char_t<Range>;
3361
3362
790
    if constexpr (ranges::contiguous_range<Range>) {
3363
790
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
790
            return unexpected_scan_error(
3365
790
                scan_error::invalid_scanned_value,
3366
790
                "Failed to parse integer: No digits found");
3367
790
        }
3368
790
        return range.end();
3369
790
    }
3370
790
    else {
3371
790
        return read_while1_code_unit(range,
3372
790
                                     [&](char_type ch) noexcept {
3373
790
                                         return char_to_int(ch) < base;
3374
790
                                     })
3375
790
            .transform_error(map_parse_error_to_scan_error(
3376
790
                scan_error::invalid_scanned_value,
3377
790
                "Failed to parse integer: No digits found"));
3378
790
    }
3379
790
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3359
1.65M
{
3360
1.65M
    using char_type = detail::char_t<Range>;
3361
3362
1.65M
    if constexpr (ranges::contiguous_range<Range>) {
3363
1.65M
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
1.42k
            return unexpected_scan_error(
3365
1.42k
                scan_error::invalid_scanned_value,
3366
1.42k
                "Failed to parse integer: No digits found");
3367
1.42k
        }
3368
1.65M
        return range.end();
3369
1.65M
    }
3370
1.65M
    else {
3371
1.65M
        return read_while1_code_unit(range,
3372
1.65M
                                     [&](char_type ch) noexcept {
3373
1.65M
                                         return char_to_int(ch) < base;
3374
1.65M
                                     })
3375
1.65M
            .transform_error(map_parse_error_to_scan_error(
3376
1.65M
                scan_error::invalid_scanned_value,
3377
1.65M
                "Failed to parse integer: No digits found"));
3378
1.65M
    }
3379
1.65M
}
Unexecuted instantiation: _ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_i
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_i
Line
Count
Source
3359
303k
{
3360
303k
    using char_type = detail::char_t<Range>;
3361
3362
303k
    if constexpr (ranges::contiguous_range<Range>) {
3363
303k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
303k
            return unexpected_scan_error(
3365
303k
                scan_error::invalid_scanned_value,
3366
303k
                "Failed to parse integer: No digits found");
3367
303k
        }
3368
303k
        return range.end();
3369
303k
    }
3370
303k
    else {
3371
303k
        return read_while1_code_unit(range,
3372
303k
                                     [&](char_type ch) noexcept {
3373
303k
                                         return char_to_int(ch) < base;
3374
303k
                                     })
3375
303k
            .transform_error(map_parse_error_to_scan_error(
3376
303k
                scan_error::invalid_scanned_value,
3377
303k
                "Failed to parse integer: No digits found"));
3378
303k
    }
3379
303k
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_i
Line
Count
Source
3359
346
{
3360
346
    using char_type = detail::char_t<Range>;
3361
3362
346
    if constexpr (ranges::contiguous_range<Range>) {
3363
346
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
346
            return unexpected_scan_error(
3365
346
                scan_error::invalid_scanned_value,
3366
346
                "Failed to parse integer: No digits found");
3367
346
        }
3368
346
        return range.end();
3369
346
    }
3370
346
    else {
3371
346
        return read_while1_code_unit(range,
3372
346
                                     [&](char_type ch) noexcept {
3373
346
                                         return char_to_int(ch) < base;
3374
346
                                     })
3375
346
            .transform_error(map_parse_error_to_scan_error(
3376
346
                scan_error::invalid_scanned_value,
3377
346
                "Failed to parse integer: No digits found"));
3378
346
    }
3379
346
}
_ZN3scn2v34impl34parse_integer_digits_without_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_i
Line
Count
Source
3359
335k
{
3360
335k
    using char_type = detail::char_t<Range>;
3361
3362
335k
    if constexpr (ranges::contiguous_range<Range>) {
3363
335k
        if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
3364
234
            return unexpected_scan_error(
3365
234
                scan_error::invalid_scanned_value,
3366
234
                "Failed to parse integer: No digits found");
3367
234
        }
3368
335k
        return range.end();
3369
335k
    }
3370
335k
    else {
3371
335k
        return read_while1_code_unit(range,
3372
335k
                                     [&](char_type ch) noexcept {
3373
335k
                                         return char_to_int(ch) < base;
3374
335k
                                     })
3375
335k
            .transform_error(map_parse_error_to_scan_error(
3376
335k
                scan_error::invalid_scanned_value,
3377
335k
                "Failed to parse integer: No digits found"));
3378
335k
    }
3379
335k
}
3380
3381
template <typename Range, typename CharT>
3382
auto parse_integer_digits_with_thsep(
3383
    Range range,
3384
    int base,
3385
    const localized_number_formatting_options<CharT>& locale_options)
3386
    -> scan_expected<std::tuple<ranges::const_iterator_t<Range>,
3387
                                std::basic_string<CharT>,
3388
                                std::string>>
3389
733k
{
3390
733k
    std::basic_string<CharT> output;
3391
733k
    std::string thsep_indices;
3392
733k
    auto it = range.begin();
3393
733k
    bool digit_matched = false;
3394
194M
    for (; it != range.end(); ++it) {
3395
194M
        if (*it == locale_options.thousands_sep) {
3396
191M
            thsep_indices.push_back(
3397
191M
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
191M
        }
3399
3.11M
        else if (char_to_int(*it) >= base) {
3400
723k
            break;
3401
723k
        }
3402
2.38M
        else {
3403
2.38M
            output.push_back(*it);
3404
2.38M
            digit_matched = true;
3405
2.38M
        }
3406
194M
    }
3407
733k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
63.5k
        return unexpected_scan_error(
3409
63.5k
            scan_error::invalid_scanned_value,
3410
63.5k
            "Failed to parse integer: No digits found");
3411
63.5k
    }
3412
669k
    return std::tuple{it, output, thsep_indices};
3413
733k
}
Unexecuted instantiation: _ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
Line
Count
Source
3389
320k
{
3390
320k
    std::basic_string<CharT> output;
3391
320k
    std::string thsep_indices;
3392
320k
    auto it = range.begin();
3393
320k
    bool digit_matched = false;
3394
1.55M
    for (; it != range.end(); ++it) {
3395
1.55M
        if (*it == locale_options.thousands_sep) {
3396
67.8k
            thsep_indices.push_back(
3397
67.8k
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
67.8k
        }
3399
1.48M
        else if (char_to_int(*it) >= base) {
3400
315k
            break;
3401
315k
        }
3402
1.16M
        else {
3403
1.16M
            output.push_back(*it);
3404
1.16M
            digit_matched = true;
3405
1.16M
        }
3406
1.55M
    }
3407
320k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
8.86k
        return unexpected_scan_error(
3409
8.86k
            scan_error::invalid_scanned_value,
3410
8.86k
            "Failed to parse integer: No digits found");
3411
8.86k
    }
3412
311k
    return std::tuple{it, output, thsep_indices};
3413
320k
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3389
16
{
3390
16
    std::basic_string<CharT> output;
3391
16
    std::string thsep_indices;
3392
16
    auto it = range.begin();
3393
16
    bool digit_matched = false;
3394
16
    for (; it != range.end(); ++it) {
3395
16
        if (*it == locale_options.thousands_sep) {
3396
0
            thsep_indices.push_back(
3397
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
0
        }
3399
16
        else if (char_to_int(*it) >= base) {
3400
16
            break;
3401
16
        }
3402
0
        else {
3403
0
            output.push_back(*it);
3404
0
            digit_matched = true;
3405
0
        }
3406
16
    }
3407
16
    if (SCN_UNLIKELY(!digit_matched)) {
3408
16
        return unexpected_scan_error(
3409
16
            scan_error::invalid_scanned_value,
3410
16
            "Failed to parse integer: No digits found");
3411
16
    }
3412
0
    return std::tuple{it, output, thsep_indices};
3413
16
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3389
319k
{
3390
319k
    std::basic_string<CharT> output;
3391
319k
    std::string thsep_indices;
3392
319k
    auto it = range.begin();
3393
319k
    bool digit_matched = false;
3394
1.55M
    for (; it != range.end(); ++it) {
3395
1.54M
        if (*it == locale_options.thousands_sep) {
3396
67.4k
            thsep_indices.push_back(
3397
67.4k
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
67.4k
        }
3399
1.48M
        else if (char_to_int(*it) >= base) {
3400
314k
            break;
3401
314k
        }
3402
1.16M
        else {
3403
1.16M
            output.push_back(*it);
3404
1.16M
            digit_matched = true;
3405
1.16M
        }
3406
1.54M
    }
3407
319k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
9.26k
        return unexpected_scan_error(
3409
9.26k
            scan_error::invalid_scanned_value,
3410
9.26k
            "Failed to parse integer: No digits found");
3411
9.26k
    }
3412
309k
    return std::tuple{it, output, thsep_indices};
3413
319k
}
Unexecuted instantiation: _ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEENS1_15take_width_viewINS6_ISC_SD_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSM_9add_constIT_E4typeEEEEENSM_12basic_stringIT0_NSM_11char_traitsISV_EENSM_9allocatorISV_EEEENSU_IcNSW_IcEENSY_IcEEEEEEEEESP_iRKNS1_35localized_number_formatting_optionsISV_EE
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEENSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEENSM_IcNSO_IcEENSQ_IcEEEEEEEEESH_iRKNS1_35localized_number_formatting_optionsISN_EE
Line
Count
Source
3389
46.7k
{
3390
46.7k
    std::basic_string<CharT> output;
3391
46.7k
    std::string thsep_indices;
3392
46.7k
    auto it = range.begin();
3393
46.7k
    bool digit_matched = false;
3394
95.7M
    for (; it != range.end(); ++it) {
3395
95.7M
        if (*it == locale_options.thousands_sep) {
3396
95.6M
            thsep_indices.push_back(
3397
95.6M
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
95.6M
        }
3399
72.3k
        else if (char_to_int(*it) >= base) {
3400
46.3k
            break;
3401
46.3k
        }
3402
25.9k
        else {
3403
25.9k
            output.push_back(*it);
3404
25.9k
            digit_matched = true;
3405
25.9k
        }
3406
95.7M
    }
3407
46.7k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
22.6k
        return unexpected_scan_error(
3409
22.6k
            scan_error::invalid_scanned_value,
3410
22.6k
            "Failed to parse integer: No digits found");
3411
22.6k
    }
3412
24.0k
    return std::tuple{it, output, thsep_indices};
3413
46.7k
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSA_EENS1_15take_width_viewINS6_ISA_SA_EEE8sentinelILb1EEEEEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSJ_9add_constIT_E4typeEEEEENSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEENSR_IcNST_IcEENSV_IcEEEEEEEEESM_iRKNS1_35localized_number_formatting_optionsISS_EE
Line
Count
Source
3389
12
{
3390
12
    std::basic_string<CharT> output;
3391
12
    std::string thsep_indices;
3392
12
    auto it = range.begin();
3393
12
    bool digit_matched = false;
3394
12
    for (; it != range.end(); ++it) {
3395
12
        if (*it == locale_options.thousands_sep) {
3396
0
            thsep_indices.push_back(
3397
0
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
0
        }
3399
12
        else if (char_to_int(*it) >= base) {
3400
12
            break;
3401
12
        }
3402
0
        else {
3403
0
            output.push_back(*it);
3404
0
            digit_matched = true;
3405
0
        }
3406
12
    }
3407
12
    if (SCN_UNLIKELY(!digit_matched)) {
3408
12
        return unexpected_scan_error(
3409
12
            scan_error::invalid_scanned_value,
3410
12
            "Failed to parse integer: No digits found");
3411
12
    }
3412
0
    return std::tuple{it, output, thsep_indices};
3413
12
}
_ZN3scn2v34impl31parse_integer_digits_with_thsepINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__15tupleIJDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSB_9add_constIT_E4typeEEEEENSB_12basic_stringIT0_NSB_11char_traitsISK_EENSB_9allocatorISK_EEEENSJ_IcNSL_IcEENSN_IcEEEEEEEEESE_iRKNS1_35localized_number_formatting_optionsISK_EE
Line
Count
Source
3389
46.7k
{
3390
46.7k
    std::basic_string<CharT> output;
3391
46.7k
    std::string thsep_indices;
3392
46.7k
    auto it = range.begin();
3393
46.7k
    bool digit_matched = false;
3394
95.7M
    for (; it != range.end(); ++it) {
3395
95.7M
        if (*it == locale_options.thousands_sep) {
3396
95.6M
            thsep_indices.push_back(
3397
95.6M
                static_cast<char>(ranges::distance(range.begin(), it)));
3398
95.6M
        }
3399
72.3k
        else if (char_to_int(*it) >= base) {
3400
46.3k
            break;
3401
46.3k
        }
3402
25.9k
        else {
3403
25.9k
            output.push_back(*it);
3404
25.9k
            digit_matched = true;
3405
25.9k
        }
3406
95.7M
    }
3407
46.7k
    if (SCN_UNLIKELY(!digit_matched)) {
3408
22.7k
        return unexpected_scan_error(
3409
22.7k
            scan_error::invalid_scanned_value,
3410
22.7k
            "Failed to parse integer: No digits found");
3411
22.7k
    }
3412
24.0k
    return std::tuple{it, output, thsep_indices};
3413
46.7k
}
3414
3415
template <typename CharT, typename T>
3416
auto parse_integer_value(std::basic_string_view<CharT> source,
3417
                         T& value,
3418
                         sign_type sign,
3419
                         int base)
3420
    -> scan_expected<typename std::basic_string_view<CharT>::iterator>;
3421
3422
template <typename T>
3423
void parse_integer_value_exhaustive_valid(std::string_view source, T& value);
3424
3425
#define SCN_DECLARE_INTEGER_READER_TEMPLATE(CharT, IntT)                    \
3426
    extern template auto parse_integer_value(                               \
3427
        std::basic_string_view<CharT> source, IntT& value, sign_type sign,  \
3428
        int base)                                                           \
3429
        -> scan_expected<typename std::basic_string_view<CharT>::iterator>; \
3430
    extern template void parse_integer_value_exhaustive_valid(              \
3431
        std::string_view, IntT&);
3432
3433
#if !SCN_DISABLE_TYPE_SCHAR
3434
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, signed char)
3435
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, signed char)
3436
#endif
3437
#if !SCN_DISABLE_TYPE_SHORT
3438
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, short)
3439
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, short)
3440
#endif
3441
#if !SCN_DISABLE_TYPE_INT
3442
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, int)
3443
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, int)
3444
#endif
3445
#if !SCN_DISABLE_TYPE_LONG
3446
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long)
3447
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long)
3448
#endif
3449
#if !SCN_DISABLE_TYPE_LONG_LONG
3450
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, long long)
3451
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, long long)
3452
#endif
3453
#if !SCN_DISABLE_TYPE_UCHAR
3454
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned char)
3455
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned char)
3456
#endif
3457
#if !SCN_DISABLE_TYPE_USHORT
3458
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned short)
3459
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned short)
3460
#endif
3461
#if !SCN_DISABLE_TYPE_UINT
3462
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned int)
3463
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned int)
3464
#endif
3465
#if !SCN_DISABLE_TYPE_ULONG
3466
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long)
3467
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long)
3468
#endif
3469
#if !SCN_DISABLE_TYPE_ULONG_LONG
3470
SCN_DECLARE_INTEGER_READER_TEMPLATE(char, unsigned long long)
3471
SCN_DECLARE_INTEGER_READER_TEMPLATE(wchar_t, unsigned long long)
3472
#endif
3473
3474
#undef SCN_DECLARE_INTEGER_READER_TEMPLATE
3475
3476
template <typename CharT>
3477
class reader_impl_for_int
3478
    : public reader_base<reader_impl_for_int<CharT>, CharT> {
3479
public:
3480
    constexpr reader_impl_for_int() = default;
3481
3482
    void check_specs_impl(const detail::format_specs& specs,
3483
                          reader_error_handler& eh)
3484
3.97M
    {
3485
3.97M
        detail::check_int_type_specs(specs, eh);
3486
3.97M
    }
scn::v3::impl::reader_impl_for_int<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
3484
3.40M
    {
3485
3.40M
        detail::check_int_type_specs(specs, eh);
3486
3.40M
    }
scn::v3::impl::reader_impl_for_int<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
3484
571k
    {
3485
571k
        detail::check_int_type_specs(specs, eh);
3486
571k
    }
3487
3488
    template <typename Range, typename T>
3489
    auto read_default_with_base(Range range, T& value, int base)
3490
        -> scan_expected<ranges::const_iterator_t<Range>>
3491
1.12M
    {
3492
1.12M
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
1.12M
                                   .transform_error(make_eof_scan_error));
3494
3495
1.12M
        if constexpr (!std::is_signed_v<T>) {
3496
530k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
13.6k
                return unexpected_scan_error(
3498
13.6k
                    scan_error::invalid_scanned_value,
3499
13.6k
                    "Unexpected '-' sign when parsing an "
3500
13.6k
                    "unsigned value");
3501
13.6k
            }
3502
530k
        }
3503
3504
1.11M
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
2.14M
        SCN_TRY(after_digits_it,
3510
2.14M
                parse_integer_digits_without_thsep(
3511
2.14M
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
2.14M
                    prefix_result.parsed_base));
3513
3514
2.14M
        auto buf = make_contiguous_buffer(
3515
2.14M
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
2.14M
        SCN_TRY(result_it,
3517
907k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
907k
                                    prefix_result.parsed_base));
3519
3520
907k
        return ranges::next(prefix_result.iterator,
3521
907k
                            ranges::distance(buf.view().begin(), result_it));
3522
2.14M
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
78.0k
    {
3492
78.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.0k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.0k
        if constexpr (!std::is_signed_v<T>) {
3496
78.0k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
78.0k
                return unexpected_scan_error(
3498
78.0k
                    scan_error::invalid_scanned_value,
3499
78.0k
                    "Unexpected '-' sign when parsing an "
3500
78.0k
                    "unsigned value");
3501
78.0k
            }
3502
78.0k
        }
3503
3504
78.0k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
153k
        SCN_TRY(after_digits_it,
3510
153k
                parse_integer_digits_without_thsep(
3511
153k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
153k
                    prefix_result.parsed_base));
3513
3514
153k
        auto buf = make_contiguous_buffer(
3515
153k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
153k
        SCN_TRY(result_it,
3517
72.8k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.8k
                                    prefix_result.parsed_base));
3519
3520
72.8k
        return ranges::next(prefix_result.iterator,
3521
72.8k
                            ranges::distance(buf.view().begin(), result_it));
3522
153k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
88.4k
    {
3492
88.4k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
88.4k
                                   .transform_error(make_eof_scan_error));
3494
3495
88.4k
        if constexpr (!std::is_signed_v<T>) {
3496
88.4k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
88.4k
                return unexpected_scan_error(
3498
88.4k
                    scan_error::invalid_scanned_value,
3499
88.4k
                    "Unexpected '-' sign when parsing an "
3500
88.4k
                    "unsigned value");
3501
88.4k
            }
3502
88.4k
        }
3503
3504
88.4k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
173k
        SCN_TRY(after_digits_it,
3510
173k
                parse_integer_digits_without_thsep(
3511
173k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
173k
                    prefix_result.parsed_base));
3513
3514
173k
        auto buf = make_contiguous_buffer(
3515
173k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
173k
        SCN_TRY(result_it,
3517
83.6k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
83.6k
                                    prefix_result.parsed_base));
3519
3520
83.6k
        return ranges::next(prefix_result.iterator,
3521
83.6k
                            ranges::distance(buf.view().begin(), result_it));
3522
173k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
89.9k
    {
3492
89.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
89.9k
                                   .transform_error(make_eof_scan_error));
3494
3495
89.9k
        if constexpr (!std::is_signed_v<T>) {
3496
89.9k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
89.9k
                return unexpected_scan_error(
3498
89.9k
                    scan_error::invalid_scanned_value,
3499
89.9k
                    "Unexpected '-' sign when parsing an "
3500
89.9k
                    "unsigned value");
3501
89.9k
            }
3502
89.9k
        }
3503
3504
89.9k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
176k
        SCN_TRY(after_digits_it,
3510
176k
                parse_integer_digits_without_thsep(
3511
176k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
176k
                    prefix_result.parsed_base));
3513
3514
176k
        auto buf = make_contiguous_buffer(
3515
176k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
176k
        SCN_TRY(result_it,
3517
85.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
85.2k
                                    prefix_result.parsed_base));
3519
3520
85.2k
        return ranges::next(prefix_result.iterator,
3521
85.2k
                            ranges::distance(buf.view().begin(), result_it));
3522
176k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
69.3k
    {
3492
69.3k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
69.3k
                                   .transform_error(make_eof_scan_error));
3494
3495
69.3k
        if constexpr (!std::is_signed_v<T>) {
3496
69.3k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.13k
                return unexpected_scan_error(
3498
2.13k
                    scan_error::invalid_scanned_value,
3499
2.13k
                    "Unexpected '-' sign when parsing an "
3500
2.13k
                    "unsigned value");
3501
2.13k
            }
3502
69.3k
        }
3503
3504
67.1k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
132k
        SCN_TRY(after_digits_it,
3510
132k
                parse_integer_digits_without_thsep(
3511
132k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
132k
                    prefix_result.parsed_base));
3513
3514
132k
        auto buf = make_contiguous_buffer(
3515
132k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
132k
        SCN_TRY(result_it,
3517
64.0k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
64.0k
                                    prefix_result.parsed_base));
3519
3520
64.0k
        return ranges::next(prefix_result.iterator,
3521
64.0k
                            ranges::distance(buf.view().begin(), result_it));
3522
132k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
77.1k
    {
3492
77.1k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
77.1k
                                   .transform_error(make_eof_scan_error));
3494
3495
77.1k
        if constexpr (!std::is_signed_v<T>) {
3496
77.1k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.19k
                return unexpected_scan_error(
3498
2.19k
                    scan_error::invalid_scanned_value,
3499
2.19k
                    "Unexpected '-' sign when parsing an "
3500
2.19k
                    "unsigned value");
3501
2.19k
            }
3502
77.1k
        }
3503
3504
74.9k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
147k
        SCN_TRY(after_digits_it,
3510
147k
                parse_integer_digits_without_thsep(
3511
147k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
147k
                    prefix_result.parsed_base));
3513
3514
147k
        auto buf = make_contiguous_buffer(
3515
147k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
147k
        SCN_TRY(result_it,
3517
72.0k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.0k
                                    prefix_result.parsed_base));
3519
3520
72.0k
        return ranges::next(prefix_result.iterator,
3521
72.0k
                            ranges::distance(buf.view().begin(), result_it));
3522
147k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
78.0k
    {
3492
78.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.0k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.0k
        if constexpr (!std::is_signed_v<T>) {
3496
78.0k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.24k
                return unexpected_scan_error(
3498
2.24k
                    scan_error::invalid_scanned_value,
3499
2.24k
                    "Unexpected '-' sign when parsing an "
3500
2.24k
                    "unsigned value");
3501
2.24k
            }
3502
78.0k
        }
3503
3504
75.8k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
149k
        SCN_TRY(after_digits_it,
3510
149k
                parse_integer_digits_without_thsep(
3511
149k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
149k
                    prefix_result.parsed_base));
3513
3514
149k
        auto buf = make_contiguous_buffer(
3515
149k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
149k
        SCN_TRY(result_it,
3517
72.9k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.9k
                                    prefix_result.parsed_base));
3519
3520
72.9k
        return ranges::next(prefix_result.iterator,
3521
72.9k
                            ranges::distance(buf.view().begin(), result_it));
3522
149k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.4k
        SCN_TRY(after_digits_it,
3510
23.4k
                parse_integer_digits_without_thsep(
3511
23.4k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.4k
                    prefix_result.parsed_base));
3513
3514
23.4k
        auto buf = make_contiguous_buffer(
3515
23.4k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.4k
        SCN_TRY(result_it,
3517
135
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
135
                                    prefix_result.parsed_base));
3519
3520
135
        return ranges::next(prefix_result.iterator,
3521
135
                            ranges::distance(buf.view().begin(), result_it));
3522
23.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
21.9k
    {
3492
21.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
21.9k
                                   .transform_error(make_eof_scan_error));
3494
3495
21.9k
        if constexpr (!std::is_signed_v<T>) {
3496
21.9k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
21.9k
                return unexpected_scan_error(
3498
21.9k
                    scan_error::invalid_scanned_value,
3499
21.9k
                    "Unexpected '-' sign when parsing an "
3500
21.9k
                    "unsigned value");
3501
21.9k
            }
3502
21.9k
        }
3503
3504
21.9k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
43.8k
        SCN_TRY(after_digits_it,
3510
43.8k
                parse_integer_digits_without_thsep(
3511
43.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
43.8k
                    prefix_result.parsed_base));
3513
3514
43.8k
        auto buf = make_contiguous_buffer(
3515
43.8k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
43.8k
        SCN_TRY(result_it,
3517
165
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
165
                                    prefix_result.parsed_base));
3519
3520
165
        return ranges::next(prefix_result.iterator,
3521
165
                            ranges::distance(buf.view().begin(), result_it));
3522
43.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.5k
        SCN_TRY(after_digits_it,
3510
23.5k
                parse_integer_digits_without_thsep(
3511
23.5k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.5k
                    prefix_result.parsed_base));
3513
3514
23.5k
        auto buf = make_contiguous_buffer(
3515
23.5k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.5k
        SCN_TRY(result_it,
3517
210
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
210
                                    prefix_result.parsed_base));
3519
3520
210
        return ranges::next(prefix_result.iterator,
3521
210
                            ranges::distance(buf.view().begin(), result_it));
3522
23.5k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.2k
        SCN_TRY(after_digits_it,
3510
23.2k
                parse_integer_digits_without_thsep(
3511
23.2k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.2k
                    prefix_result.parsed_base));
3513
3514
23.2k
        auto buf = make_contiguous_buffer(
3515
23.2k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.2k
        SCN_TRY(result_it,
3517
108
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
108
                                    prefix_result.parsed_base));
3519
3520
108
        return ranges::next(prefix_result.iterator,
3521
108
                            ranges::distance(buf.view().begin(), result_it));
3522
23.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
21.9k
    {
3492
21.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
21.9k
                                   .transform_error(make_eof_scan_error));
3494
3495
21.9k
        if constexpr (!std::is_signed_v<T>) {
3496
21.9k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
21.9k
        }
3503
3504
21.8k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
43.7k
        SCN_TRY(after_digits_it,
3510
43.7k
                parse_integer_digits_without_thsep(
3511
43.7k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
43.7k
                    prefix_result.parsed_base));
3513
3514
43.7k
        auto buf = make_contiguous_buffer(
3515
43.7k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
43.7k
        SCN_TRY(result_it,
3517
126
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
126
                                    prefix_result.parsed_base));
3519
3520
126
        return ranges::next(prefix_result.iterator,
3521
126
                            ranges::distance(buf.view().begin(), result_it));
3522
43.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
72
                return unexpected_scan_error(
3498
72
                    scan_error::invalid_scanned_value,
3499
72
                    "Unexpected '-' sign when parsing an "
3500
72
                    "unsigned value");
3501
72
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
23.3k
        SCN_TRY(after_digits_it,
3510
23.3k
                parse_integer_digits_without_thsep(
3511
23.3k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
23.3k
                    prefix_result.parsed_base));
3513
3514
23.3k
        auto buf = make_contiguous_buffer(
3515
23.3k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
23.3k
        SCN_TRY(result_it,
3517
162
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
162
                                    prefix_result.parsed_base));
3519
3520
162
        return ranges::next(prefix_result.iterator,
3521
162
                            ranges::distance(buf.view().begin(), result_it));
3522
23.3k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.9k
        SCN_TRY(after_digits_it,
3510
11.9k
                parse_integer_digits_without_thsep(
3511
11.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.9k
                    prefix_result.parsed_base));
3513
3514
11.9k
        auto buf = make_contiguous_buffer(
3515
11.9k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.9k
        SCN_TRY(result_it,
3517
135
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
135
                                    prefix_result.parsed_base));
3519
3520
135
        return ranges::next(prefix_result.iterator,
3521
135
                            ranges::distance(buf.view().begin(), result_it));
3522
11.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.9k
        SCN_TRY(after_digits_it,
3510
11.9k
                parse_integer_digits_without_thsep(
3511
11.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.9k
                    prefix_result.parsed_base));
3513
3514
11.9k
        auto buf = make_contiguous_buffer(
3515
11.9k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.9k
        SCN_TRY(result_it,
3517
165
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
165
                                    prefix_result.parsed_base));
3519
3520
165
        return ranges::next(prefix_result.iterator,
3521
165
                            ranges::distance(buf.view().begin(), result_it));
3522
11.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
11.7k
                return unexpected_scan_error(
3498
11.7k
                    scan_error::invalid_scanned_value,
3499
11.7k
                    "Unexpected '-' sign when parsing an "
3500
11.7k
                    "unsigned value");
3501
11.7k
            }
3502
11.7k
        }
3503
3504
11.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
12.0k
        SCN_TRY(after_digits_it,
3510
12.0k
                parse_integer_digits_without_thsep(
3511
12.0k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
12.0k
                    prefix_result.parsed_base));
3513
3514
12.0k
        auto buf = make_contiguous_buffer(
3515
12.0k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
12.0k
        SCN_TRY(result_it,
3517
210
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
210
                                    prefix_result.parsed_base));
3519
3520
210
        return ranges::next(prefix_result.iterator,
3521
210
                            ranges::distance(buf.view().begin(), result_it));
3522
12.0k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.7k
        SCN_TRY(after_digits_it,
3510
11.7k
                parse_integer_digits_without_thsep(
3511
11.7k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.7k
                    prefix_result.parsed_base));
3513
3514
11.7k
        auto buf = make_contiguous_buffer(
3515
11.7k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.7k
        SCN_TRY(result_it,
3517
108
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
108
                                    prefix_result.parsed_base));
3519
3520
108
        return ranges::next(prefix_result.iterator,
3521
108
                            ranges::distance(buf.view().begin(), result_it));
3522
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
66
                return unexpected_scan_error(
3498
66
                    scan_error::invalid_scanned_value,
3499
66
                    "Unexpected '-' sign when parsing an "
3500
66
                    "unsigned value");
3501
66
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.8k
        SCN_TRY(after_digits_it,
3510
11.8k
                parse_integer_digits_without_thsep(
3511
11.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.8k
                    prefix_result.parsed_base));
3513
3514
11.8k
        auto buf = make_contiguous_buffer(
3515
11.8k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.8k
        SCN_TRY(result_it,
3517
126
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
126
                                    prefix_result.parsed_base));
3519
3520
126
        return ranges::next(prefix_result.iterator,
3521
126
                            ranges::distance(buf.view().begin(), result_it));
3522
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIwE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_i
Line
Count
Source
3491
11.7k
    {
3492
11.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
11.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
11.7k
        if constexpr (!std::is_signed_v<T>) {
3496
11.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
72
                return unexpected_scan_error(
3498
72
                    scan_error::invalid_scanned_value,
3499
72
                    "Unexpected '-' sign when parsing an "
3500
72
                    "unsigned value");
3501
72
            }
3502
11.7k
        }
3503
3504
11.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
11.8k
        SCN_TRY(after_digits_it,
3510
11.8k
                parse_integer_digits_without_thsep(
3511
11.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
11.8k
                    prefix_result.parsed_base));
3513
3514
11.8k
        auto buf = make_contiguous_buffer(
3515
11.8k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
11.8k
        SCN_TRY(result_it,
3517
162
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
162
                                    prefix_result.parsed_base));
3519
3520
162
        return ranges::next(prefix_result.iterator,
3521
162
                            ranges::distance(buf.view().begin(), result_it));
3522
11.8k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
78.0k
    {
3492
78.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.0k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.0k
        if constexpr (!std::is_signed_v<T>) {
3496
78.0k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
78.0k
                return unexpected_scan_error(
3498
78.0k
                    scan_error::invalid_scanned_value,
3499
78.0k
                    "Unexpected '-' sign when parsing an "
3500
78.0k
                    "unsigned value");
3501
78.0k
            }
3502
78.0k
        }
3503
3504
78.0k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
156k
        SCN_TRY(after_digits_it,
3510
156k
                parse_integer_digits_without_thsep(
3511
156k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
156k
                    prefix_result.parsed_base));
3513
3514
156k
        auto buf = make_contiguous_buffer(
3515
156k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
156k
        SCN_TRY(result_it,
3517
72.9k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.9k
                                    prefix_result.parsed_base));
3519
3520
72.9k
        return ranges::next(prefix_result.iterator,
3521
72.9k
                            ranges::distance(buf.view().begin(), result_it));
3522
156k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
90.7k
    {
3492
90.7k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
90.7k
                                   .transform_error(make_eof_scan_error));
3494
3495
90.7k
        if constexpr (!std::is_signed_v<T>) {
3496
90.7k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
90.7k
                return unexpected_scan_error(
3498
90.7k
                    scan_error::invalid_scanned_value,
3499
90.7k
                    "Unexpected '-' sign when parsing an "
3500
90.7k
                    "unsigned value");
3501
90.7k
            }
3502
90.7k
        }
3503
3504
90.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
181k
        SCN_TRY(after_digits_it,
3510
181k
                parse_integer_digits_without_thsep(
3511
181k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
181k
                    prefix_result.parsed_base));
3513
3514
181k
        auto buf = make_contiguous_buffer(
3515
181k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
181k
        SCN_TRY(result_it,
3517
85.3k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
85.3k
                                    prefix_result.parsed_base));
3519
3520
85.3k
        return ranges::next(prefix_result.iterator,
3521
85.3k
                            ranges::distance(buf.view().begin(), result_it));
3522
181k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
91.6k
    {
3492
91.6k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
91.6k
                                   .transform_error(make_eof_scan_error));
3494
3495
91.6k
        if constexpr (!std::is_signed_v<T>) {
3496
91.6k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
91.6k
                return unexpected_scan_error(
3498
91.6k
                    scan_error::invalid_scanned_value,
3499
91.6k
                    "Unexpected '-' sign when parsing an "
3500
91.6k
                    "unsigned value");
3501
91.6k
            }
3502
91.6k
        }
3503
3504
91.6k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
183k
        SCN_TRY(after_digits_it,
3510
183k
                parse_integer_digits_without_thsep(
3511
183k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
183k
                    prefix_result.parsed_base));
3513
3514
183k
        auto buf = make_contiguous_buffer(
3515
183k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
183k
        SCN_TRY(result_it,
3517
87.0k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
87.0k
                                    prefix_result.parsed_base));
3519
3520
87.0k
        return ranges::next(prefix_result.iterator,
3521
87.0k
                            ranges::distance(buf.view().begin(), result_it));
3522
183k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
69.4k
    {
3492
69.4k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
69.4k
                                   .transform_error(make_eof_scan_error));
3494
3495
69.4k
        if constexpr (!std::is_signed_v<T>) {
3496
69.4k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.15k
                return unexpected_scan_error(
3498
2.15k
                    scan_error::invalid_scanned_value,
3499
2.15k
                    "Unexpected '-' sign when parsing an "
3500
2.15k
                    "unsigned value");
3501
2.15k
            }
3502
69.4k
        }
3503
3504
67.2k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
134k
        SCN_TRY(after_digits_it,
3510
134k
                parse_integer_digits_without_thsep(
3511
134k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
134k
                    prefix_result.parsed_base));
3513
3514
134k
        auto buf = make_contiguous_buffer(
3515
134k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
134k
        SCN_TRY(result_it,
3517
64.1k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
64.1k
                                    prefix_result.parsed_base));
3519
3520
64.1k
        return ranges::next(prefix_result.iterator,
3521
64.1k
                            ranges::distance(buf.view().begin(), result_it));
3522
134k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
77.9k
    {
3492
77.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
77.9k
                                   .transform_error(make_eof_scan_error));
3494
3495
77.9k
        if constexpr (!std::is_signed_v<T>) {
3496
77.9k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.23k
                return unexpected_scan_error(
3498
2.23k
                    scan_error::invalid_scanned_value,
3499
2.23k
                    "Unexpected '-' sign when parsing an "
3500
2.23k
                    "unsigned value");
3501
2.23k
            }
3502
77.9k
        }
3503
3504
75.7k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
151k
        SCN_TRY(after_digits_it,
3510
151k
                parse_integer_digits_without_thsep(
3511
151k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
151k
                    prefix_result.parsed_base));
3513
3514
151k
        auto buf = make_contiguous_buffer(
3515
151k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
151k
        SCN_TRY(result_it,
3517
72.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
72.2k
                                    prefix_result.parsed_base));
3519
3520
72.2k
        return ranges::next(prefix_result.iterator,
3521
72.2k
                            ranges::distance(buf.view().begin(), result_it));
3522
151k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
_ZN3scn2v34impl19reader_impl_for_intIcE22read_default_with_baseINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_i
Line
Count
Source
3491
78.2k
    {
3492
78.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, base)
3493
78.2k
                                   .transform_error(make_eof_scan_error));
3494
3495
78.2k
        if constexpr (!std::is_signed_v<T>) {
3496
78.2k
            if (prefix_result.sign == sign_type::minus_sign) {
3497
2.30k
                return unexpected_scan_error(
3498
2.30k
                    scan_error::invalid_scanned_value,
3499
2.30k
                    "Unexpected '-' sign when parsing an "
3500
2.30k
                    "unsigned value");
3501
2.30k
            }
3502
78.2k
        }
3503
3504
75.9k
        if (prefix_result.is_zero) {
3505
0
            value = T{0};
3506
0
            return std::next(prefix_result.iterator);
3507
0
        }
3508
3509
151k
        SCN_TRY(after_digits_it,
3510
151k
                parse_integer_digits_without_thsep(
3511
151k
                    ranges::subrange{prefix_result.iterator, range.end()},
3512
151k
                    prefix_result.parsed_base));
3513
3514
151k
        auto buf = make_contiguous_buffer(
3515
151k
            ranges::subrange{prefix_result.iterator, after_digits_it});
3516
151k
        SCN_TRY(result_it,
3517
73.2k
                parse_integer_value(buf.view(), value, prefix_result.sign,
3518
73.2k
                                    prefix_result.parsed_base));
3519
3520
73.2k
        return ranges::next(prefix_result.iterator,
3521
73.2k
                            ranges::distance(buf.view().begin(), result_it));
3522
151k
    }
3523
3524
    template <typename Range, typename T>
3525
    auto read_default(Range range, T& value, detail::locale_ref loc)
3526
        -> scan_expected<ranges::const_iterator_t<Range>>
3527
1.12M
    {
3528
1.12M
        SCN_UNUSED(loc);
3529
1.12M
        return read_default_with_base(range, value, 10);
3530
1.12M
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
78.0k
    {
3528
78.0k
        SCN_UNUSED(loc);
3529
78.0k
        return read_default_with_base(range, value, 10);
3530
78.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
90.7k
    {
3528
90.7k
        SCN_UNUSED(loc);
3529
90.7k
        return read_default_with_base(range, value, 10);
3530
90.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
91.6k
    {
3528
91.6k
        SCN_UNUSED(loc);
3529
91.6k
        return read_default_with_base(range, value, 10);
3530
91.6k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
69.4k
    {
3528
69.4k
        SCN_UNUSED(loc);
3529
69.4k
        return read_default_with_base(range, value, 10);
3530
69.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
77.9k
    {
3528
77.9k
        SCN_UNUSED(loc);
3529
77.9k
        return read_default_with_base(range, value, 10);
3530
77.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
78.2k
    {
3528
78.2k
        SCN_UNUSED(loc);
3529
78.2k
        return read_default_with_base(range, value, 10);
3530
78.2k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
78.0k
    {
3528
78.0k
        SCN_UNUSED(loc);
3529
78.0k
        return read_default_with_base(range, value, 10);
3530
78.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
88.4k
    {
3528
88.4k
        SCN_UNUSED(loc);
3529
88.4k
        return read_default_with_base(range, value, 10);
3530
88.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
89.9k
    {
3528
89.9k
        SCN_UNUSED(loc);
3529
89.9k
        return read_default_with_base(range, value, 10);
3530
89.9k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
69.3k
    {
3528
69.3k
        SCN_UNUSED(loc);
3529
69.3k
        return read_default_with_base(range, value, 10);
3530
69.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
77.1k
    {
3528
77.1k
        SCN_UNUSED(loc);
3529
77.1k
        return read_default_with_base(range, value, 10);
3530
77.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
78.0k
    {
3528
78.0k
        SCN_UNUSED(loc);
3529
78.0k
        return read_default_with_base(range, value, 10);
3530
78.0k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
21.9k
    {
3528
21.9k
        SCN_UNUSED(loc);
3529
21.9k
        return read_default_with_base(range, value, 10);
3530
21.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
21.9k
    {
3528
21.9k
        SCN_UNUSED(loc);
3529
21.9k
        return read_default_with_base(range, value, 10);
3530
21.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
3527
11.7k
    {
3528
11.7k
        SCN_UNUSED(loc);
3529
11.7k
        return read_default_with_base(range, value, 10);
3530
11.7k
    }
3531
3532
    template <typename Range, typename T>
3533
    auto read_specs(Range range,
3534
                    const detail::format_specs& specs,
3535
                    T& value,
3536
                    detail::locale_ref loc)
3537
        -> scan_expected<ranges::const_iterator_t<Range>>
3538
3.93M
    {
3539
3.93M
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
3.93M
                                   .transform_error(make_eof_scan_error));
3541
3542
3.93M
        if (prefix_result.sign == sign_type::minus_sign) {
3543
204k
            if constexpr (!std::is_signed_v<T>) {
3544
152k
                return unexpected_scan_error(
3545
152k
                    scan_error::invalid_scanned_value,
3546
152k
                    "Unexpected '-' sign when parsing an "
3547
152k
                    "unsigned value");
3548
152k
            }
3549
152k
            else {
3550
152k
                if (specs.type ==
3551
152k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
152k
            }
3557
204k
        }
3558
3559
3.88M
        if (prefix_result.is_zero) {
3560
317k
            value = T{0};
3561
317k
            return std::next(prefix_result.iterator);
3562
317k
        }
3563
3564
3.56M
        if (SCN_LIKELY(!specs.localized)) {
3565
2.83M
            SCN_TRY(after_digits_it,
3566
2.53M
                    parse_integer_digits_without_thsep(
3567
2.53M
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
2.53M
                        prefix_result.parsed_base));
3569
3570
2.53M
            auto buf = make_contiguous_buffer(
3571
2.53M
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
2.53M
            SCN_TRY(result_it,
3573
2.19M
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
2.19M
                                        prefix_result.parsed_base));
3575
3576
2.19M
            return ranges::next(
3577
2.19M
                prefix_result.iterator,
3578
2.19M
                ranges::distance(buf.view().begin(), result_it));
3579
2.53M
        }
3580
3581
733k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
733k
            localized_number_formatting_options<CharT>{loc};
3586
733k
#endif
3587
3588
733k
        SCN_TRY(parse_digits_result,
3589
669k
                parse_integer_digits_with_thsep(
3590
669k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
669k
                    prefix_result.parsed_base, locale_options));
3592
669k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
669k
            parse_digits_result;
3594
3595
669k
        if (!thsep_indices.empty()) {
3596
55.8k
            if (auto e = check_thsep_grouping(
3597
55.8k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
55.8k
                    thsep_indices, locale_options.grouping);
3599
55.8k
                SCN_UNLIKELY(!e)) {
3600
51.1k
                return unexpected(e);
3601
51.1k
            }
3602
55.8k
        }
3603
3604
618k
        auto nothsep_source_view =
3605
618k
            std::basic_string_view<CharT>{nothsep_source};
3606
618k
        SCN_TRY(
3607
610k
            nothsep_source_it,
3608
610k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
610k
                                prefix_result.parsed_base));
3610
3611
610k
        return ranges::next(
3612
610k
            prefix_result.iterator,
3613
610k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
610k
                ranges::ssize(thsep_indices));
3615
618k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
245k
    {
3539
245k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
245k
                                   .transform_error(make_eof_scan_error));
3541
3542
245k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
23.8k
            if constexpr (!std::is_signed_v<T>) {
3544
23.8k
                return unexpected_scan_error(
3545
23.8k
                    scan_error::invalid_scanned_value,
3546
23.8k
                    "Unexpected '-' sign when parsing an "
3547
23.8k
                    "unsigned value");
3548
23.8k
            }
3549
23.8k
            else {
3550
23.8k
                if (specs.type ==
3551
23.8k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
23.8k
            }
3557
23.8k
        }
3558
3559
245k
        if (prefix_result.is_zero) {
3560
25.5k
            value = T{0};
3561
25.5k
            return std::next(prefix_result.iterator);
3562
25.5k
        }
3563
3564
219k
        if (SCN_LIKELY(!specs.localized)) {
3565
167k
            SCN_TRY(after_digits_it,
3566
156k
                    parse_integer_digits_without_thsep(
3567
156k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
156k
                        prefix_result.parsed_base));
3569
3570
156k
            auto buf = make_contiguous_buffer(
3571
156k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
156k
            SCN_TRY(result_it,
3573
150k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
150k
                                        prefix_result.parsed_base));
3575
3576
150k
            return ranges::next(
3577
150k
                prefix_result.iterator,
3578
150k
                ranges::distance(buf.view().begin(), result_it));
3579
156k
        }
3580
3581
52.3k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
52.3k
            localized_number_formatting_options<CharT>{loc};
3586
52.3k
#endif
3587
3588
52.3k
        SCN_TRY(parse_digits_result,
3589
50.8k
                parse_integer_digits_with_thsep(
3590
50.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
50.8k
                    prefix_result.parsed_base, locale_options));
3592
50.8k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
50.8k
            parse_digits_result;
3594
3595
50.8k
        if (!thsep_indices.empty()) {
3596
790
            if (auto e = check_thsep_grouping(
3597
790
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
790
                    thsep_indices, locale_options.grouping);
3599
790
                SCN_UNLIKELY(!e)) {
3600
396
                return unexpected(e);
3601
396
            }
3602
790
        }
3603
3604
50.4k
        auto nothsep_source_view =
3605
50.4k
            std::basic_string_view<CharT>{nothsep_source};
3606
50.4k
        SCN_TRY(
3607
48.9k
            nothsep_source_it,
3608
48.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.9k
                                prefix_result.parsed_base));
3610
3611
48.9k
        return ranges::next(
3612
48.9k
            prefix_result.iterator,
3613
48.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.9k
                ranges::ssize(thsep_indices));
3615
50.4k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
32
    {
3539
32
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
32
                                   .transform_error(make_eof_scan_error));
3541
3542
32
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
32
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
32
        if (SCN_LIKELY(!specs.localized)) {
3565
32
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
244k
    {
3539
244k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
244k
                                   .transform_error(make_eof_scan_error));
3541
3542
244k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
23.8k
            if constexpr (!std::is_signed_v<T>) {
3544
23.8k
                return unexpected_scan_error(
3545
23.8k
                    scan_error::invalid_scanned_value,
3546
23.8k
                    "Unexpected '-' sign when parsing an "
3547
23.8k
                    "unsigned value");
3548
23.8k
            }
3549
23.8k
            else {
3550
23.8k
                if (specs.type ==
3551
23.8k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
23.8k
            }
3557
23.8k
        }
3558
3559
244k
        if (prefix_result.is_zero) {
3560
25.3k
            value = T{0};
3561
25.3k
            return std::next(prefix_result.iterator);
3562
25.3k
        }
3563
3564
219k
        if (SCN_LIKELY(!specs.localized)) {
3565
167k
            SCN_TRY(after_digits_it,
3566
167k
                    parse_integer_digits_without_thsep(
3567
167k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
167k
                        prefix_result.parsed_base));
3569
3570
167k
            auto buf = make_contiguous_buffer(
3571
167k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
167k
            SCN_TRY(result_it,
3573
149k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
149k
                                        prefix_result.parsed_base));
3575
3576
149k
            return ranges::next(
3577
149k
                prefix_result.iterator,
3578
149k
                ranges::distance(buf.view().begin(), result_it));
3579
167k
        }
3580
3581
52.1k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
52.1k
            localized_number_formatting_options<CharT>{loc};
3586
52.1k
#endif
3587
3588
52.1k
        SCN_TRY(parse_digits_result,
3589
50.6k
                parse_integer_digits_with_thsep(
3590
50.6k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
50.6k
                    prefix_result.parsed_base, locale_options));
3592
50.6k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
50.6k
            parse_digits_result;
3594
3595
50.6k
        if (!thsep_indices.empty()) {
3596
788
            if (auto e = check_thsep_grouping(
3597
788
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
788
                    thsep_indices, locale_options.grouping);
3599
788
                SCN_UNLIKELY(!e)) {
3600
394
                return unexpected(e);
3601
394
            }
3602
788
        }
3603
3604
50.2k
        auto nothsep_source_view =
3605
50.2k
            std::basic_string_view<CharT>{nothsep_source};
3606
50.2k
        SCN_TRY(
3607
48.7k
            nothsep_source_it,
3608
48.7k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.7k
                                prefix_result.parsed_base));
3610
3611
48.7k
        return ranges::next(
3612
48.7k
            prefix_result.iterator,
3613
48.7k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.7k
                ranges::ssize(thsep_indices));
3615
50.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
318k
    {
3539
318k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
318k
                                   .transform_error(make_eof_scan_error));
3541
3542
318k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
25.3k
            if constexpr (!std::is_signed_v<T>) {
3544
25.3k
                return unexpected_scan_error(
3545
25.3k
                    scan_error::invalid_scanned_value,
3546
25.3k
                    "Unexpected '-' sign when parsing an "
3547
25.3k
                    "unsigned value");
3548
25.3k
            }
3549
25.3k
            else {
3550
25.3k
                if (specs.type ==
3551
25.3k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
25.3k
            }
3557
25.3k
        }
3558
3559
318k
        if (prefix_result.is_zero) {
3560
28.2k
            value = T{0};
3561
28.2k
            return std::next(prefix_result.iterator);
3562
28.2k
        }
3563
3564
290k
        if (SCN_LIKELY(!specs.localized)) {
3565
230k
            SCN_TRY(after_digits_it,
3566
217k
                    parse_integer_digits_without_thsep(
3567
217k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
217k
                        prefix_result.parsed_base));
3569
3570
217k
            auto buf = make_contiguous_buffer(
3571
217k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
217k
            SCN_TRY(result_it,
3573
213k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
213k
                                        prefix_result.parsed_base));
3575
3576
213k
            return ranges::next(
3577
213k
                prefix_result.iterator,
3578
213k
                ranges::distance(buf.view().begin(), result_it));
3579
217k
        }
3580
3581
60.2k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
60.2k
            localized_number_formatting_options<CharT>{loc};
3586
60.2k
#endif
3587
3588
60.2k
        SCN_TRY(parse_digits_result,
3589
58.3k
                parse_integer_digits_with_thsep(
3590
58.3k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
58.3k
                    prefix_result.parsed_base, locale_options));
3592
58.3k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
58.3k
            parse_digits_result;
3594
3595
58.3k
        if (!thsep_indices.empty()) {
3596
854
            if (auto e = check_thsep_grouping(
3597
854
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
854
                    thsep_indices, locale_options.grouping);
3599
854
                SCN_UNLIKELY(!e)) {
3600
460
                return unexpected(e);
3601
460
            }
3602
854
        }
3603
3604
57.9k
        auto nothsep_source_view =
3605
57.9k
            std::basic_string_view<CharT>{nothsep_source};
3606
57.9k
        SCN_TRY(
3607
57.1k
            nothsep_source_it,
3608
57.1k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
57.1k
                                prefix_result.parsed_base));
3610
3611
57.1k
        return ranges::next(
3612
57.1k
            prefix_result.iterator,
3613
57.1k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
57.1k
                ranges::ssize(thsep_indices));
3615
57.9k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
268
    {
3539
268
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
268
                                   .transform_error(make_eof_scan_error));
3541
3542
268
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
268
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
268
        if (SCN_LIKELY(!specs.localized)) {
3565
260
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
8
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
8
            localized_number_formatting_options<CharT>{loc};
3586
8
#endif
3587
3588
8
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
317k
    {
3539
317k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
317k
                                   .transform_error(make_eof_scan_error));
3541
3542
317k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
25.3k
            if constexpr (!std::is_signed_v<T>) {
3544
25.3k
                return unexpected_scan_error(
3545
25.3k
                    scan_error::invalid_scanned_value,
3546
25.3k
                    "Unexpected '-' sign when parsing an "
3547
25.3k
                    "unsigned value");
3548
25.3k
            }
3549
25.3k
            else {
3550
25.3k
                if (specs.type ==
3551
25.3k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
25.3k
            }
3557
25.3k
        }
3558
3559
317k
        if (prefix_result.is_zero) {
3560
27.8k
            value = T{0};
3561
27.8k
            return std::next(prefix_result.iterator);
3562
27.8k
        }
3563
3564
289k
        if (SCN_LIKELY(!specs.localized)) {
3565
229k
            SCN_TRY(after_digits_it,
3566
228k
                    parse_integer_digits_without_thsep(
3567
228k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
228k
                        prefix_result.parsed_base));
3569
3570
228k
            auto buf = make_contiguous_buffer(
3571
228k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
228k
            SCN_TRY(result_it,
3573
212k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
212k
                                        prefix_result.parsed_base));
3575
3576
212k
            return ranges::next(
3577
212k
                prefix_result.iterator,
3578
212k
                ranges::distance(buf.view().begin(), result_it));
3579
228k
        }
3580
3581
60.0k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
60.0k
            localized_number_formatting_options<CharT>{loc};
3586
60.0k
#endif
3587
3588
60.0k
        SCN_TRY(parse_digits_result,
3589
58.1k
                parse_integer_digits_with_thsep(
3590
58.1k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
58.1k
                    prefix_result.parsed_base, locale_options));
3592
58.1k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
58.1k
            parse_digits_result;
3594
3595
58.1k
        if (!thsep_indices.empty()) {
3596
850
            if (auto e = check_thsep_grouping(
3597
850
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
850
                    thsep_indices, locale_options.grouping);
3599
850
                SCN_UNLIKELY(!e)) {
3600
456
                return unexpected(e);
3601
456
            }
3602
850
        }
3603
3604
57.6k
        auto nothsep_source_view =
3605
57.6k
            std::basic_string_view<CharT>{nothsep_source};
3606
57.6k
        SCN_TRY(
3607
56.9k
            nothsep_source_it,
3608
56.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
56.9k
                                prefix_result.parsed_base));
3610
3611
56.9k
        return ranges::next(
3612
56.9k
            prefix_result.iterator,
3613
56.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
56.9k
                ranges::ssize(thsep_indices));
3615
57.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
324k
    {
3539
324k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
324k
                                   .transform_error(make_eof_scan_error));
3541
3542
324k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
26.4k
            if constexpr (!std::is_signed_v<T>) {
3544
26.4k
                return unexpected_scan_error(
3545
26.4k
                    scan_error::invalid_scanned_value,
3546
26.4k
                    "Unexpected '-' sign when parsing an "
3547
26.4k
                    "unsigned value");
3548
26.4k
            }
3549
26.4k
            else {
3550
26.4k
                if (specs.type ==
3551
26.4k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
26.4k
            }
3557
26.4k
        }
3558
3559
324k
        if (prefix_result.is_zero) {
3560
28.5k
            value = T{0};
3561
28.5k
            return std::next(prefix_result.iterator);
3562
28.5k
        }
3563
3564
295k
        if (SCN_LIKELY(!specs.localized)) {
3565
234k
            SCN_TRY(after_digits_it,
3566
220k
                    parse_integer_digits_without_thsep(
3567
220k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
220k
                        prefix_result.parsed_base));
3569
3570
220k
            auto buf = make_contiguous_buffer(
3571
220k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
220k
            SCN_TRY(result_it,
3573
218k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
218k
                                        prefix_result.parsed_base));
3575
3576
218k
            return ranges::next(
3577
218k
                prefix_result.iterator,
3578
218k
                ranges::distance(buf.view().begin(), result_it));
3579
220k
        }
3580
3581
61.2k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
61.2k
            localized_number_formatting_options<CharT>{loc};
3586
61.2k
#endif
3587
3588
61.2k
        SCN_TRY(parse_digits_result,
3589
59.2k
                parse_integer_digits_with_thsep(
3590
59.2k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
59.2k
                    prefix_result.parsed_base, locale_options));
3592
59.2k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
59.2k
            parse_digits_result;
3594
3595
59.2k
        if (!thsep_indices.empty()) {
3596
914
            if (auto e = check_thsep_grouping(
3597
914
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
914
                    thsep_indices, locale_options.grouping);
3599
914
                SCN_UNLIKELY(!e)) {
3600
518
                return unexpected(e);
3601
518
            }
3602
914
        }
3603
3604
58.7k
        auto nothsep_source_view =
3605
58.7k
            std::basic_string_view<CharT>{nothsep_source};
3606
58.7k
        SCN_TRY(
3607
58.2k
            nothsep_source_it,
3608
58.2k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
58.2k
                                prefix_result.parsed_base));
3610
3611
58.2k
        return ranges::next(
3612
58.2k
            prefix_result.iterator,
3613
58.2k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
58.2k
                ranges::ssize(thsep_indices));
3615
58.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
322k
    {
3539
322k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
322k
                                   .transform_error(make_eof_scan_error));
3541
3542
322k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
26.4k
            if constexpr (!std::is_signed_v<T>) {
3544
26.4k
                return unexpected_scan_error(
3545
26.4k
                    scan_error::invalid_scanned_value,
3546
26.4k
                    "Unexpected '-' sign when parsing an "
3547
26.4k
                    "unsigned value");
3548
26.4k
            }
3549
26.4k
            else {
3550
26.4k
                if (specs.type ==
3551
26.4k
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
26.4k
            }
3557
26.4k
        }
3558
3559
322k
        if (prefix_result.is_zero) {
3560
28.1k
            value = T{0};
3561
28.1k
            return std::next(prefix_result.iterator);
3562
28.1k
        }
3563
3564
294k
        if (SCN_LIKELY(!specs.localized)) {
3565
233k
            SCN_TRY(after_digits_it,
3566
233k
                    parse_integer_digits_without_thsep(
3567
233k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
233k
                        prefix_result.parsed_base));
3569
3570
233k
            auto buf = make_contiguous_buffer(
3571
233k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
233k
            SCN_TRY(result_it,
3573
217k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
217k
                                        prefix_result.parsed_base));
3575
3576
217k
            return ranges::next(
3577
217k
                prefix_result.iterator,
3578
217k
                ranges::distance(buf.view().begin(), result_it));
3579
233k
        }
3580
3581
61.0k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
61.0k
            localized_number_formatting_options<CharT>{loc};
3586
61.0k
#endif
3587
3588
61.0k
        SCN_TRY(parse_digits_result,
3589
58.9k
                parse_integer_digits_with_thsep(
3590
58.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
58.9k
                    prefix_result.parsed_base, locale_options));
3592
58.9k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
58.9k
            parse_digits_result;
3594
3595
58.9k
        if (!thsep_indices.empty()) {
3596
910
            if (auto e = check_thsep_grouping(
3597
910
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
910
                    thsep_indices, locale_options.grouping);
3599
910
                SCN_UNLIKELY(!e)) {
3600
514
                return unexpected(e);
3601
514
            }
3602
910
        }
3603
3604
58.4k
        auto nothsep_source_view =
3605
58.4k
            std::basic_string_view<CharT>{nothsep_source};
3606
58.4k
        SCN_TRY(
3607
57.9k
            nothsep_source_it,
3608
57.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
57.9k
                                prefix_result.parsed_base));
3610
3611
57.9k
        return ranges::next(
3612
57.9k
            prefix_result.iterator,
3613
57.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
57.9k
                ranges::ssize(thsep_indices));
3615
58.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
241k
    {
3539
241k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
241k
                                   .transform_error(make_eof_scan_error));
3541
3542
241k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.01k
            if constexpr (!std::is_signed_v<T>) {
3544
8.01k
                return unexpected_scan_error(
3545
8.01k
                    scan_error::invalid_scanned_value,
3546
8.01k
                    "Unexpected '-' sign when parsing an "
3547
8.01k
                    "unsigned value");
3548
8.01k
            }
3549
8.01k
            else {
3550
8.01k
                if (specs.type ==
3551
8.01k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.01k
                    return unexpected_scan_error(
3553
8.01k
                        scan_error::invalid_scanned_value,
3554
8.01k
                        "'u'-option disallows negative values");
3555
8.01k
                }
3556
8.01k
            }
3557
8.01k
        }
3558
3559
233k
        if (prefix_result.is_zero) {
3560
24.3k
            value = T{0};
3561
24.3k
            return std::next(prefix_result.iterator);
3562
24.3k
        }
3563
3564
208k
        if (SCN_LIKELY(!specs.localized)) {
3565
163k
            SCN_TRY(after_digits_it,
3566
155k
                    parse_integer_digits_without_thsep(
3567
155k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
155k
                        prefix_result.parsed_base));
3569
3570
155k
            auto buf = make_contiguous_buffer(
3571
155k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
155k
            SCN_TRY(result_it,
3573
152k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
152k
                                        prefix_result.parsed_base));
3575
3576
152k
            return ranges::next(
3577
152k
                prefix_result.iterator,
3578
152k
                ranges::distance(buf.view().begin(), result_it));
3579
155k
        }
3580
3581
45.1k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
45.1k
            localized_number_formatting_options<CharT>{loc};
3586
45.1k
#endif
3587
3588
45.1k
        SCN_TRY(parse_digits_result,
3589
44.1k
                parse_integer_digits_with_thsep(
3590
44.1k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
44.1k
                    prefix_result.parsed_base, locale_options));
3592
44.1k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
44.1k
            parse_digits_result;
3594
3595
44.1k
        if (!thsep_indices.empty()) {
3596
596
            if (auto e = check_thsep_grouping(
3597
596
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
596
                    thsep_indices, locale_options.grouping);
3599
596
                SCN_UNLIKELY(!e)) {
3600
220
                return unexpected(e);
3601
220
            }
3602
596
        }
3603
3604
43.8k
        auto nothsep_source_view =
3605
43.8k
            std::basic_string_view<CharT>{nothsep_source};
3606
43.8k
        SCN_TRY(
3607
43.1k
            nothsep_source_it,
3608
43.1k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
43.1k
                                prefix_result.parsed_base));
3610
3611
43.1k
        return ranges::next(
3612
43.1k
            prefix_result.iterator,
3613
43.1k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
43.1k
                ranges::ssize(thsep_indices));
3615
43.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
240k
    {
3539
240k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
240k
                                   .transform_error(make_eof_scan_error));
3541
3542
240k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.00k
            if constexpr (!std::is_signed_v<T>) {
3544
8.00k
                return unexpected_scan_error(
3545
8.00k
                    scan_error::invalid_scanned_value,
3546
8.00k
                    "Unexpected '-' sign when parsing an "
3547
8.00k
                    "unsigned value");
3548
8.00k
            }
3549
8.00k
            else {
3550
8.00k
                if (specs.type ==
3551
8.00k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.00k
                    return unexpected_scan_error(
3553
8.00k
                        scan_error::invalid_scanned_value,
3554
8.00k
                        "'u'-option disallows negative values");
3555
8.00k
                }
3556
8.00k
            }
3557
8.00k
        }
3558
3559
232k
        if (prefix_result.is_zero) {
3560
24.0k
            value = T{0};
3561
24.0k
            return std::next(prefix_result.iterator);
3562
24.0k
        }
3563
3564
208k
        if (SCN_LIKELY(!specs.localized)) {
3565
163k
            SCN_TRY(after_digits_it,
3566
163k
                    parse_integer_digits_without_thsep(
3567
163k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
163k
                        prefix_result.parsed_base));
3569
3570
163k
            auto buf = make_contiguous_buffer(
3571
163k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
163k
            SCN_TRY(result_it,
3573
152k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
152k
                                        prefix_result.parsed_base));
3575
3576
152k
            return ranges::next(
3577
152k
                prefix_result.iterator,
3578
152k
                ranges::distance(buf.view().begin(), result_it));
3579
163k
        }
3580
3581
44.9k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
44.9k
            localized_number_formatting_options<CharT>{loc};
3586
44.9k
#endif
3587
3588
44.9k
        SCN_TRY(parse_digits_result,
3589
43.9k
                parse_integer_digits_with_thsep(
3590
43.9k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
43.9k
                    prefix_result.parsed_base, locale_options));
3592
43.9k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
43.9k
            parse_digits_result;
3594
3595
43.9k
        if (!thsep_indices.empty()) {
3596
594
            if (auto e = check_thsep_grouping(
3597
594
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
594
                    thsep_indices, locale_options.grouping);
3599
594
                SCN_UNLIKELY(!e)) {
3600
218
                return unexpected(e);
3601
218
            }
3602
594
        }
3603
3604
43.6k
        auto nothsep_source_view =
3605
43.6k
            std::basic_string_view<CharT>{nothsep_source};
3606
43.6k
        SCN_TRY(
3607
42.9k
            nothsep_source_it,
3608
42.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
42.9k
                                prefix_result.parsed_base));
3610
3611
42.9k
        return ranges::next(
3612
42.9k
            prefix_result.iterator,
3613
42.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
42.9k
                ranges::ssize(thsep_indices));
3615
43.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
274k
    {
3539
274k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
274k
                                   .transform_error(make_eof_scan_error));
3541
3542
274k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.27k
            if constexpr (!std::is_signed_v<T>) {
3544
8.27k
                return unexpected_scan_error(
3545
8.27k
                    scan_error::invalid_scanned_value,
3546
8.27k
                    "Unexpected '-' sign when parsing an "
3547
8.27k
                    "unsigned value");
3548
8.27k
            }
3549
8.27k
            else {
3550
8.27k
                if (specs.type ==
3551
8.27k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.27k
                    return unexpected_scan_error(
3553
8.27k
                        scan_error::invalid_scanned_value,
3554
8.27k
                        "'u'-option disallows negative values");
3555
8.27k
                }
3556
8.27k
            }
3557
8.27k
        }
3558
3559
266k
        if (prefix_result.is_zero) {
3560
26.2k
            value = T{0};
3561
26.2k
            return std::next(prefix_result.iterator);
3562
26.2k
        }
3563
3564
240k
        if (SCN_LIKELY(!specs.localized)) {
3565
189k
            SCN_TRY(after_digits_it,
3566
180k
                    parse_integer_digits_without_thsep(
3567
180k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
180k
                        prefix_result.parsed_base));
3569
3570
180k
            auto buf = make_contiguous_buffer(
3571
180k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
180k
            SCN_TRY(result_it,
3573
179k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
179k
                                        prefix_result.parsed_base));
3575
3576
179k
            return ranges::next(
3577
179k
                prefix_result.iterator,
3578
179k
                ranges::distance(buf.view().begin(), result_it));
3579
180k
        }
3580
3581
50.3k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.3k
            localized_number_formatting_options<CharT>{loc};
3586
50.3k
#endif
3587
3588
50.3k
        SCN_TRY(parse_digits_result,
3589
49.1k
                parse_integer_digits_with_thsep(
3590
49.1k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
49.1k
                    prefix_result.parsed_base, locale_options));
3592
49.1k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
49.1k
            parse_digits_result;
3594
3595
49.1k
        if (!thsep_indices.empty()) {
3596
644
            if (auto e = check_thsep_grouping(
3597
644
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
644
                    thsep_indices, locale_options.grouping);
3599
644
                SCN_UNLIKELY(!e)) {
3600
268
                return unexpected(e);
3601
268
            }
3602
644
        }
3603
3604
48.8k
        auto nothsep_source_view =
3605
48.8k
            std::basic_string_view<CharT>{nothsep_source};
3606
48.8k
        SCN_TRY(
3607
48.4k
            nothsep_source_it,
3608
48.4k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.4k
                                prefix_result.parsed_base));
3610
3611
48.4k
        return ranges::next(
3612
48.4k
            prefix_result.iterator,
3613
48.4k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.4k
                ranges::ssize(thsep_indices));
3615
48.8k
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
268
    {
3539
268
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
268
                                   .transform_error(make_eof_scan_error));
3541
3542
268
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
268
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
268
        if (SCN_LIKELY(!specs.localized)) {
3565
260
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
8
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
8
            localized_number_formatting_options<CharT>{loc};
3586
8
#endif
3587
3588
8
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
273k
    {
3539
273k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
273k
                                   .transform_error(make_eof_scan_error));
3541
3542
273k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.26k
            if constexpr (!std::is_signed_v<T>) {
3544
8.26k
                return unexpected_scan_error(
3545
8.26k
                    scan_error::invalid_scanned_value,
3546
8.26k
                    "Unexpected '-' sign when parsing an "
3547
8.26k
                    "unsigned value");
3548
8.26k
            }
3549
8.26k
            else {
3550
8.26k
                if (specs.type ==
3551
8.26k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.26k
                    return unexpected_scan_error(
3553
8.26k
                        scan_error::invalid_scanned_value,
3554
8.26k
                        "'u'-option disallows negative values");
3555
8.26k
                }
3556
8.26k
            }
3557
8.26k
        }
3558
3559
265k
        if (prefix_result.is_zero) {
3560
25.9k
            value = T{0};
3561
25.9k
            return std::next(prefix_result.iterator);
3562
25.9k
        }
3563
3564
239k
        if (SCN_LIKELY(!specs.localized)) {
3565
189k
            SCN_TRY(after_digits_it,
3566
189k
                    parse_integer_digits_without_thsep(
3567
189k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
189k
                        prefix_result.parsed_base));
3569
3570
189k
            auto buf = make_contiguous_buffer(
3571
189k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
189k
            SCN_TRY(result_it,
3573
178k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
178k
                                        prefix_result.parsed_base));
3575
3576
178k
            return ranges::next(
3577
178k
                prefix_result.iterator,
3578
178k
                ranges::distance(buf.view().begin(), result_it));
3579
189k
        }
3580
3581
50.1k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.1k
            localized_number_formatting_options<CharT>{loc};
3586
50.1k
#endif
3587
3588
50.1k
        SCN_TRY(parse_digits_result,
3589
48.8k
                parse_integer_digits_with_thsep(
3590
48.8k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
48.8k
                    prefix_result.parsed_base, locale_options));
3592
48.8k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
48.8k
            parse_digits_result;
3594
3595
48.8k
        if (!thsep_indices.empty()) {
3596
640
            if (auto e = check_thsep_grouping(
3597
640
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
640
                    thsep_indices, locale_options.grouping);
3599
640
                SCN_UNLIKELY(!e)) {
3600
264
                return unexpected(e);
3601
264
            }
3602
640
        }
3603
3604
48.6k
        auto nothsep_source_view =
3605
48.6k
            std::basic_string_view<CharT>{nothsep_source};
3606
48.6k
        SCN_TRY(
3607
48.2k
            nothsep_source_it,
3608
48.2k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.2k
                                prefix_result.parsed_base));
3610
3611
48.2k
        return ranges::next(
3612
48.2k
            prefix_result.iterator,
3613
48.2k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.2k
                ranges::ssize(thsep_indices));
3615
48.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
238
    {
3539
238
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
238
                                   .transform_error(make_eof_scan_error));
3541
3542
238
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
238
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
238
        if (SCN_LIKELY(!specs.localized)) {
3565
238
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
848
    {
3539
848
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
848
                                   .transform_error(make_eof_scan_error));
3541
3542
848
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
848
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
848
        if (SCN_LIKELY(!specs.localized)) {
3565
848
            SCN_TRY(after_digits_it,
3566
848
                    parse_integer_digits_without_thsep(
3567
848
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
848
                        prefix_result.parsed_base));
3569
3570
848
            auto buf = make_contiguous_buffer(
3571
848
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
848
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
848
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
277k
    {
3539
277k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
277k
                                   .transform_error(make_eof_scan_error));
3541
3542
277k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.46k
            if constexpr (!std::is_signed_v<T>) {
3544
8.46k
                return unexpected_scan_error(
3545
8.46k
                    scan_error::invalid_scanned_value,
3546
8.46k
                    "Unexpected '-' sign when parsing an "
3547
8.46k
                    "unsigned value");
3548
8.46k
            }
3549
8.46k
            else {
3550
8.46k
                if (specs.type ==
3551
8.46k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.46k
                    return unexpected_scan_error(
3553
8.46k
                        scan_error::invalid_scanned_value,
3554
8.46k
                        "'u'-option disallows negative values");
3555
8.46k
                }
3556
8.46k
            }
3557
8.46k
        }
3558
3559
269k
        if (prefix_result.is_zero) {
3560
26.3k
            value = T{0};
3561
26.3k
            return std::next(prefix_result.iterator);
3562
26.3k
        }
3563
3564
242k
        if (SCN_LIKELY(!specs.localized)) {
3565
191k
            SCN_TRY(after_digits_it,
3566
182k
                    parse_integer_digits_without_thsep(
3567
182k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
182k
                        prefix_result.parsed_base));
3569
3570
182k
            auto buf = make_contiguous_buffer(
3571
182k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
182k
            SCN_TRY(result_it,
3573
181k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
181k
                                        prefix_result.parsed_base));
3575
3576
181k
            return ranges::next(
3577
181k
                prefix_result.iterator,
3578
181k
                ranges::distance(buf.view().begin(), result_it));
3579
182k
        }
3580
3581
50.9k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.9k
            localized_number_formatting_options<CharT>{loc};
3586
50.9k
#endif
3587
3588
50.9k
        SCN_TRY(parse_digits_result,
3589
49.6k
                parse_integer_digits_with_thsep(
3590
49.6k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
49.6k
                    prefix_result.parsed_base, locale_options));
3592
49.6k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
49.6k
            parse_digits_result;
3594
3595
49.6k
        if (!thsep_indices.empty()) {
3596
644
            if (auto e = check_thsep_grouping(
3597
644
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
644
                    thsep_indices, locale_options.grouping);
3599
644
                SCN_UNLIKELY(!e)) {
3600
268
                return unexpected(e);
3601
268
            }
3602
644
        }
3603
3604
49.3k
        auto nothsep_source_view =
3605
49.3k
            std::basic_string_view<CharT>{nothsep_source};
3606
49.3k
        SCN_TRY(
3607
49.1k
            nothsep_source_it,
3608
49.1k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
49.1k
                                prefix_result.parsed_base));
3610
3611
49.1k
        return ranges::next(
3612
49.1k
            prefix_result.iterator,
3613
49.1k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
49.1k
                ranges::ssize(thsep_indices));
3615
49.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
276k
    {
3539
276k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
276k
                                   .transform_error(make_eof_scan_error));
3541
3542
276k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
8.44k
            if constexpr (!std::is_signed_v<T>) {
3544
8.44k
                return unexpected_scan_error(
3545
8.44k
                    scan_error::invalid_scanned_value,
3546
8.44k
                    "Unexpected '-' sign when parsing an "
3547
8.44k
                    "unsigned value");
3548
8.44k
            }
3549
8.44k
            else {
3550
8.44k
                if (specs.type ==
3551
8.44k
                    detail::presentation_type::int_unsigned_decimal) {
3552
8.44k
                    return unexpected_scan_error(
3553
8.44k
                        scan_error::invalid_scanned_value,
3554
8.44k
                        "'u'-option disallows negative values");
3555
8.44k
                }
3556
8.44k
            }
3557
8.44k
        }
3558
3559
267k
        if (prefix_result.is_zero) {
3560
26.0k
            value = T{0};
3561
26.0k
            return std::next(prefix_result.iterator);
3562
26.0k
        }
3563
3564
241k
        if (SCN_LIKELY(!specs.localized)) {
3565
190k
            SCN_TRY(after_digits_it,
3566
190k
                    parse_integer_digits_without_thsep(
3567
190k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
190k
                        prefix_result.parsed_base));
3569
3570
190k
            auto buf = make_contiguous_buffer(
3571
190k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
190k
            SCN_TRY(result_it,
3573
180k
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
180k
                                        prefix_result.parsed_base));
3575
3576
180k
            return ranges::next(
3577
180k
                prefix_result.iterator,
3578
180k
                ranges::distance(buf.view().begin(), result_it));
3579
190k
        }
3580
3581
50.7k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
50.7k
            localized_number_formatting_options<CharT>{loc};
3586
50.7k
#endif
3587
3588
50.7k
        SCN_TRY(parse_digits_result,
3589
49.4k
                parse_integer_digits_with_thsep(
3590
49.4k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
49.4k
                    prefix_result.parsed_base, locale_options));
3592
49.4k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
49.4k
            parse_digits_result;
3594
3595
49.4k
        if (!thsep_indices.empty()) {
3596
640
            if (auto e = check_thsep_grouping(
3597
640
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
640
                    thsep_indices, locale_options.grouping);
3599
640
                SCN_UNLIKELY(!e)) {
3600
264
                return unexpected(e);
3601
264
            }
3602
640
        }
3603
3604
49.1k
        auto nothsep_source_view =
3605
49.1k
            std::basic_string_view<CharT>{nothsep_source};
3606
49.1k
        SCN_TRY(
3607
48.9k
            nothsep_source_it,
3608
48.9k
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
48.9k
                                prefix_result.parsed_base));
3610
3611
48.9k
        return ranges::next(
3612
48.9k
            prefix_result.iterator,
3613
48.9k
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
48.9k
                ranges::ssize(thsep_indices));
3615
49.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.9k
    {
3539
46.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.9k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.9k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
276
            }
3557
276
        }
3558
3559
46.9k
        if (prefix_result.is_zero) {
3560
44
            value = T{0};
3561
44
            return std::next(prefix_result.iterator);
3562
44
        }
3563
3564
46.8k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.0k
            SCN_TRY(after_digits_it,
3566
464
                    parse_integer_digits_without_thsep(
3567
464
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
464
                        prefix_result.parsed_base));
3569
3570
464
            auto buf = make_contiguous_buffer(
3571
464
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
464
            SCN_TRY(result_it,
3573
408
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
408
                                        prefix_result.parsed_base));
3575
3576
408
            return ranges::next(
3577
408
                prefix_result.iterator,
3578
408
                ranges::distance(buf.view().begin(), result_it));
3579
464
        }
3580
3581
7.81k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.81k
            localized_number_formatting_options<CharT>{loc};
3586
7.81k
#endif
3587
3588
7.81k
        SCN_TRY(parse_digits_result,
3589
4.02k
                parse_integer_digits_with_thsep(
3590
4.02k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.02k
                    prefix_result.parsed_base, locale_options));
3592
4.02k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.02k
            parse_digits_result;
3594
3595
4.02k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
110
        auto nothsep_source_view =
3605
110
            std::basic_string_view<CharT>{nothsep_source};
3606
110
        SCN_TRY(
3607
94
            nothsep_source_it,
3608
94
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
94
                                prefix_result.parsed_base));
3610
3611
94
        return ranges::next(
3612
94
            prefix_result.iterator,
3613
94
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
94
                ranges::ssize(thsep_indices));
3615
110
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEiEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
140
    {
3539
140
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
140
                                   .transform_error(make_eof_scan_error));
3541
3542
140
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
140
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
140
        if (SCN_LIKELY(!specs.localized)) {
3565
134
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
6
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
6
            localized_number_formatting_options<CharT>{loc};
3586
6
#endif
3587
3588
6
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEiEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
47.2k
    {
3539
47.2k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.2k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.2k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
276
            }
3557
276
        }
3558
3559
47.2k
        if (prefix_result.is_zero) {
3560
44
            value = T{0};
3561
44
            return std::next(prefix_result.iterator);
3562
44
        }
3563
3564
47.2k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.3k
            SCN_TRY(after_digits_it,
3566
39.3k
                    parse_integer_digits_without_thsep(
3567
39.3k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
39.3k
                        prefix_result.parsed_base));
3569
3570
39.3k
            auto buf = make_contiguous_buffer(
3571
39.3k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
39.3k
            SCN_TRY(result_it,
3573
408
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
408
                                        prefix_result.parsed_base));
3575
3576
408
            return ranges::next(
3577
408
                prefix_result.iterator,
3578
408
                ranges::distance(buf.view().begin(), result_it));
3579
39.3k
        }
3580
3581
7.83k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.83k
            localized_number_formatting_options<CharT>{loc};
3586
7.83k
#endif
3587
3588
7.83k
        SCN_TRY(parse_digits_result,
3589
4.02k
                parse_integer_digits_with_thsep(
3590
4.02k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.02k
                    prefix_result.parsed_base, locale_options));
3592
4.02k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.02k
            parse_digits_result;
3594
3595
4.02k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
110
        auto nothsep_source_view =
3605
110
            std::basic_string_view<CharT>{nothsep_source};
3606
110
        SCN_TRY(
3607
94
            nothsep_source_it,
3608
94
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
94
                                prefix_result.parsed_base));
3610
3611
94
        return ranges::next(
3612
94
            prefix_result.iterator,
3613
94
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
94
                ranges::ssize(thsep_indices));
3615
110
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
266
            if constexpr (!std::is_signed_v<T>) {
3544
266
                return unexpected_scan_error(
3545
266
                    scan_error::invalid_scanned_value,
3546
266
                    "Unexpected '-' sign when parsing an "
3547
266
                    "unsigned value");
3548
266
            }
3549
266
            else {
3550
266
                if (specs.type ==
3551
266
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
266
            }
3557
266
        }
3558
3559
46.8k
        if (prefix_result.is_zero) {
3560
42
            value = T{0};
3561
42
            return std::next(prefix_result.iterator);
3562
42
        }
3563
3564
46.7k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.9k
            SCN_TRY(after_digits_it,
3566
452
                    parse_integer_digits_without_thsep(
3567
452
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
452
                        prefix_result.parsed_base));
3569
3570
452
            auto buf = make_contiguous_buffer(
3571
452
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
452
            SCN_TRY(result_it,
3573
344
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
344
                                        prefix_result.parsed_base));
3575
3576
344
            return ranges::next(
3577
344
                prefix_result.iterator,
3578
344
                ranges::distance(buf.view().begin(), result_it));
3579
452
        }
3580
3581
7.80k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.80k
            localized_number_formatting_options<CharT>{loc};
3586
7.80k
#endif
3587
3588
7.80k
        SCN_TRY(parse_digits_result,
3589
4.02k
                parse_integer_digits_with_thsep(
3590
4.02k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.02k
                    prefix_result.parsed_base, locale_options));
3592
4.02k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.02k
            parse_digits_result;
3594
3595
4.02k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
106
        auto nothsep_source_view =
3605
106
            std::basic_string_view<CharT>{nothsep_source};
3606
106
        SCN_TRY(
3607
74
            nothsep_source_it,
3608
74
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
74
                                prefix_result.parsed_base));
3610
3611
74
        return ranges::next(
3612
74
            prefix_result.iterator,
3613
74
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
74
                ranges::ssize(thsep_indices));
3615
106
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEaEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEaEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
266
            if constexpr (!std::is_signed_v<T>) {
3544
266
                return unexpected_scan_error(
3545
266
                    scan_error::invalid_scanned_value,
3546
266
                    "Unexpected '-' sign when parsing an "
3547
266
                    "unsigned value");
3548
266
            }
3549
266
            else {
3550
266
                if (specs.type ==
3551
266
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
266
            }
3557
266
        }
3558
3559
46.8k
        if (prefix_result.is_zero) {
3560
42
            value = T{0};
3561
42
            return std::next(prefix_result.iterator);
3562
42
        }
3563
3564
46.7k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.9k
            SCN_TRY(after_digits_it,
3566
38.9k
                    parse_integer_digits_without_thsep(
3567
38.9k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
38.9k
                        prefix_result.parsed_base));
3569
3570
38.9k
            auto buf = make_contiguous_buffer(
3571
38.9k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
38.9k
            SCN_TRY(result_it,
3573
344
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
344
                                        prefix_result.parsed_base));
3575
3576
344
            return ranges::next(
3577
344
                prefix_result.iterator,
3578
344
                ranges::distance(buf.view().begin(), result_it));
3579
38.9k
        }
3580
3581
7.80k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.80k
            localized_number_formatting_options<CharT>{loc};
3586
7.80k
#endif
3587
3588
7.80k
        SCN_TRY(parse_digits_result,
3589
4.02k
                parse_integer_digits_with_thsep(
3590
4.02k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.02k
                    prefix_result.parsed_base, locale_options));
3592
4.02k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.02k
            parse_digits_result;
3594
3595
4.02k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
106
        auto nothsep_source_view =
3605
106
            std::basic_string_view<CharT>{nothsep_source};
3606
106
        SCN_TRY(
3607
74
            nothsep_source_it,
3608
74
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
74
                                prefix_result.parsed_base));
3610
3611
74
        return ranges::next(
3612
74
            prefix_result.iterator,
3613
74
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
74
                ranges::ssize(thsep_indices));
3615
106
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEsEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEsEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEElEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EElEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
47.0k
    {
3539
47.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.0k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
292
            if constexpr (!std::is_signed_v<T>) {
3544
292
                return unexpected_scan_error(
3545
292
                    scan_error::invalid_scanned_value,
3546
292
                    "Unexpected '-' sign when parsing an "
3547
292
                    "unsigned value");
3548
292
            }
3549
292
            else {
3550
292
                if (specs.type ==
3551
292
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
292
            }
3557
292
        }
3558
3559
47.0k
        if (prefix_result.is_zero) {
3560
50
            value = T{0};
3561
50
            return std::next(prefix_result.iterator);
3562
50
        }
3563
3564
46.9k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.1k
            SCN_TRY(after_digits_it,
3566
494
                    parse_integer_digits_without_thsep(
3567
494
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
494
                        prefix_result.parsed_base));
3569
3570
494
            auto buf = make_contiguous_buffer(
3571
494
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
494
            SCN_TRY(result_it,
3573
480
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
480
                                        prefix_result.parsed_base));
3575
3576
480
            return ranges::next(
3577
480
                prefix_result.iterator,
3578
480
                ranges::distance(buf.view().begin(), result_it));
3579
494
        }
3580
3581
7.84k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.84k
            localized_number_formatting_options<CharT>{loc};
3586
7.84k
#endif
3587
3588
7.84k
        SCN_TRY(parse_digits_result,
3589
4.03k
                parse_integer_digits_with_thsep(
3590
4.03k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.03k
                    prefix_result.parsed_base, locale_options));
3592
4.03k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.03k
            parse_digits_result;
3594
3595
4.03k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
124
        auto nothsep_source_view =
3605
124
            std::basic_string_view<CharT>{nothsep_source};
3606
124
        SCN_TRY(
3607
124
            nothsep_source_it,
3608
124
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
124
                                prefix_result.parsed_base));
3610
3611
124
        return ranges::next(
3612
124
            prefix_result.iterator,
3613
124
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
124
                ranges::ssize(thsep_indices));
3615
124
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEExEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EExEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
47.0k
    {
3539
47.0k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.0k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.0k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
292
            if constexpr (!std::is_signed_v<T>) {
3544
292
                return unexpected_scan_error(
3545
292
                    scan_error::invalid_scanned_value,
3546
292
                    "Unexpected '-' sign when parsing an "
3547
292
                    "unsigned value");
3548
292
            }
3549
292
            else {
3550
292
                if (specs.type ==
3551
292
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
292
            }
3557
292
        }
3558
3559
47.0k
        if (prefix_result.is_zero) {
3560
50
            value = T{0};
3561
50
            return std::next(prefix_result.iterator);
3562
50
        }
3563
3564
46.9k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.1k
            SCN_TRY(after_digits_it,
3566
39.0k
                    parse_integer_digits_without_thsep(
3567
39.0k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
39.0k
                        prefix_result.parsed_base));
3569
3570
39.0k
            auto buf = make_contiguous_buffer(
3571
39.0k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
39.0k
            SCN_TRY(result_it,
3573
480
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
480
                                        prefix_result.parsed_base));
3575
3576
480
            return ranges::next(
3577
480
                prefix_result.iterator,
3578
480
                ranges::distance(buf.view().begin(), result_it));
3579
39.0k
        }
3580
3581
7.84k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.84k
            localized_number_formatting_options<CharT>{loc};
3586
7.84k
#endif
3587
3588
7.84k
        SCN_TRY(parse_digits_result,
3589
4.03k
                parse_integer_digits_with_thsep(
3590
4.03k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.03k
                    prefix_result.parsed_base, locale_options));
3592
4.03k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.03k
            parse_digits_result;
3594
3595
4.03k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
124
        auto nothsep_source_view =
3605
124
            std::basic_string_view<CharT>{nothsep_source};
3606
124
        SCN_TRY(
3607
124
            nothsep_source_it,
3608
124
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
124
                                prefix_result.parsed_base));
3610
3611
124
        return ranges::next(
3612
124
            prefix_result.iterator,
3613
124
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
124
                ranges::ssize(thsep_indices));
3615
124
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.5k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.5k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.7k
            SCN_TRY(after_digits_it,
3566
378
                    parse_integer_digits_without_thsep(
3567
378
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
378
                        prefix_result.parsed_base));
3569
3570
378
            auto buf = make_contiguous_buffer(
3571
378
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
378
            SCN_TRY(result_it,
3573
296
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
296
                                        prefix_result.parsed_base));
3575
3576
296
            return ranges::next(
3577
296
                prefix_result.iterator,
3578
296
                ranges::distance(buf.view().begin(), result_it));
3579
378
        }
3580
3581
7.74k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.74k
            localized_number_formatting_options<CharT>{loc};
3586
7.74k
#endif
3587
3588
7.74k
        SCN_TRY(parse_digits_result,
3589
3.99k
                parse_integer_digits_with_thsep(
3590
3.99k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
3.99k
                    prefix_result.parsed_base, locale_options));
3592
3.99k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
3.99k
            parse_digits_result;
3594
3595
3.99k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
82
        auto nothsep_source_view =
3605
82
            std::basic_string_view<CharT>{nothsep_source};
3606
82
        SCN_TRY(
3607
56
            nothsep_source_it,
3608
56
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
56
                                prefix_result.parsed_base));
3610
3611
56
        return ranges::next(
3612
56
            prefix_result.iterator,
3613
56
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
56
                ranges::ssize(thsep_indices));
3615
82
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEhEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEhEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.5k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.5k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.7k
            SCN_TRY(after_digits_it,
3566
38.7k
                    parse_integer_digits_without_thsep(
3567
38.7k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
38.7k
                        prefix_result.parsed_base));
3569
3570
38.7k
            auto buf = make_contiguous_buffer(
3571
38.7k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
38.7k
            SCN_TRY(result_it,
3573
296
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
296
                                        prefix_result.parsed_base));
3575
3576
296
            return ranges::next(
3577
296
                prefix_result.iterator,
3578
296
                ranges::distance(buf.view().begin(), result_it));
3579
38.7k
        }
3580
3581
7.74k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.74k
            localized_number_formatting_options<CharT>{loc};
3586
7.74k
#endif
3587
3588
7.74k
        SCN_TRY(parse_digits_result,
3589
3.99k
                parse_integer_digits_with_thsep(
3590
3.99k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
3.99k
                    prefix_result.parsed_base, locale_options));
3592
3.99k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
3.99k
            parse_digits_result;
3594
3595
3.99k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
82
        auto nothsep_source_view =
3605
82
            std::basic_string_view<CharT>{nothsep_source};
3606
82
        SCN_TRY(
3607
56
            nothsep_source_it,
3608
56
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
56
                                prefix_result.parsed_base));
3610
3611
56
        return ranges::next(
3612
56
            prefix_result.iterator,
3613
56
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
56
                ranges::ssize(thsep_indices));
3615
82
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEtEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEtEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.8k
    {
3539
46.8k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.8k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.8k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.5k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.5k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.7k
            SCN_TRY(after_digits_it,
3566
384
                    parse_integer_digits_without_thsep(
3567
384
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
384
                        prefix_result.parsed_base));
3569
3570
384
            auto buf = make_contiguous_buffer(
3571
384
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
384
            SCN_TRY(result_it,
3573
330
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
330
                                        prefix_result.parsed_base));
3575
3576
330
            return ranges::next(
3577
330
                prefix_result.iterator,
3578
330
                ranges::distance(buf.view().begin(), result_it));
3579
384
        }
3580
3581
7.76k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.76k
            localized_number_formatting_options<CharT>{loc};
3586
7.76k
#endif
3587
3588
7.76k
        SCN_TRY(parse_digits_result,
3589
3.99k
                parse_integer_digits_with_thsep(
3590
3.99k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
3.99k
                    prefix_result.parsed_base, locale_options));
3592
3.99k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
3.99k
            parse_digits_result;
3594
3595
3.99k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
84
        auto nothsep_source_view =
3605
84
            std::basic_string_view<CharT>{nothsep_source};
3606
84
        SCN_TRY(
3607
68
            nothsep_source_it,
3608
68
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
68
                                prefix_result.parsed_base));
3610
3611
68
        return ranges::next(
3612
68
            prefix_result.iterator,
3613
68
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
68
                ranges::ssize(thsep_indices));
3615
84
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEjEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
120
    {
3539
120
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
120
                                   .transform_error(make_eof_scan_error));
3541
3542
120
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
120
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
120
        if (SCN_LIKELY(!specs.localized)) {
3565
114
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
6
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
6
            localized_number_formatting_options<CharT>{loc};
3586
6
#endif
3587
3588
6
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEjEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
47.1k
    {
3539
47.1k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
47.1k
                                   .transform_error(make_eof_scan_error));
3541
3542
47.1k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
260
            if constexpr (!std::is_signed_v<T>) {
3544
260
                return unexpected_scan_error(
3545
260
                    scan_error::invalid_scanned_value,
3546
260
                    "Unexpected '-' sign when parsing an "
3547
260
                    "unsigned value");
3548
260
            }
3549
260
            else {
3550
260
                if (specs.type ==
3551
260
                    detail::presentation_type::int_unsigned_decimal) {
3552
260
                    return unexpected_scan_error(
3553
260
                        scan_error::invalid_scanned_value,
3554
260
                        "'u'-option disallows negative values");
3555
260
                }
3556
260
            }
3557
260
        }
3558
3559
46.9k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.8k
        if (SCN_LIKELY(!specs.localized)) {
3565
39.1k
            SCN_TRY(after_digits_it,
3566
39.0k
                    parse_integer_digits_without_thsep(
3567
39.0k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
39.0k
                        prefix_result.parsed_base));
3569
3570
39.0k
            auto buf = make_contiguous_buffer(
3571
39.0k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
39.0k
            SCN_TRY(result_it,
3573
330
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
330
                                        prefix_result.parsed_base));
3575
3576
330
            return ranges::next(
3577
330
                prefix_result.iterator,
3578
330
                ranges::distance(buf.view().begin(), result_it));
3579
39.0k
        }
3580
3581
7.77k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.77k
            localized_number_formatting_options<CharT>{loc};
3586
7.77k
#endif
3587
3588
7.77k
        SCN_TRY(parse_digits_result,
3589
3.99k
                parse_integer_digits_with_thsep(
3590
3.99k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
3.99k
                    prefix_result.parsed_base, locale_options));
3592
3.99k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
3.99k
            parse_digits_result;
3594
3595
3.99k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
84
        auto nothsep_source_view =
3605
84
            std::basic_string_view<CharT>{nothsep_source};
3606
84
        SCN_TRY(
3607
68
            nothsep_source_it,
3608
68
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
68
                                prefix_result.parsed_base));
3610
3611
68
        return ranges::next(
3612
68
            prefix_result.iterator,
3613
68
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
68
                ranges::ssize(thsep_indices));
3615
84
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEmEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
3538
98
    {
3539
98
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
98
                                   .transform_error(make_eof_scan_error));
3541
3542
98
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
98
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
98
        if (SCN_LIKELY(!specs.localized)) {
3565
98
            SCN_TRY(after_digits_it,
3566
0
                    parse_integer_digits_without_thsep(
3567
0
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
0
                        prefix_result.parsed_base));
3569
3570
0
            auto buf = make_contiguous_buffer(
3571
0
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
0
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
0
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEmEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
10.5k
    {
3539
10.5k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
10.5k
                                   .transform_error(make_eof_scan_error));
3541
3542
10.5k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
0
            if constexpr (!std::is_signed_v<T>) {
3544
0
                return unexpected_scan_error(
3545
0
                    scan_error::invalid_scanned_value,
3546
0
                    "Unexpected '-' sign when parsing an "
3547
0
                    "unsigned value");
3548
0
            }
3549
0
            else {
3550
0
                if (specs.type ==
3551
0
                    detail::presentation_type::int_unsigned_decimal) {
3552
0
                    return unexpected_scan_error(
3553
0
                        scan_error::invalid_scanned_value,
3554
0
                        "'u'-option disallows negative values");
3555
0
                }
3556
0
            }
3557
0
        }
3558
3559
10.5k
        if (prefix_result.is_zero) {
3560
0
            value = T{0};
3561
0
            return std::next(prefix_result.iterator);
3562
0
        }
3563
3564
10.5k
        if (SCN_LIKELY(!specs.localized)) {
3565
10.5k
            SCN_TRY(after_digits_it,
3566
10.5k
                    parse_integer_digits_without_thsep(
3567
10.5k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
10.5k
                        prefix_result.parsed_base));
3569
3570
10.5k
            auto buf = make_contiguous_buffer(
3571
10.5k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
10.5k
            SCN_TRY(result_it,
3573
0
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
0
                                        prefix_result.parsed_base));
3575
3576
0
            return ranges::next(
3577
0
                prefix_result.iterator,
3578
0
                ranges::distance(buf.view().begin(), result_it));
3579
10.5k
        }
3580
3581
0
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
0
            localized_number_formatting_options<CharT>{loc};
3586
0
#endif
3587
3588
0
        SCN_TRY(parse_digits_result,
3589
0
                parse_integer_digits_with_thsep(
3590
0
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
0
                    prefix_result.parsed_base, locale_options));
3592
0
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
0
            parse_digits_result;
3594
3595
0
        if (!thsep_indices.empty()) {
3596
0
            if (auto e = check_thsep_grouping(
3597
0
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
0
                    thsep_indices, locale_options.grouping);
3599
0
                SCN_UNLIKELY(!e)) {
3600
0
                return unexpected(e);
3601
0
            }
3602
0
        }
3603
3604
0
        auto nothsep_source_view =
3605
0
            std::basic_string_view<CharT>{nothsep_source};
3606
0
        SCN_TRY(
3607
0
            nothsep_source_it,
3608
0
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
0
                                prefix_result.parsed_base));
3610
3611
0
        return ranges::next(
3612
0
            prefix_result.iterator,
3613
0
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
0
                ranges::ssize(thsep_indices));
3615
0
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
3538
46.9k
    {
3539
46.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.9k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.9k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
276
                    return unexpected_scan_error(
3553
276
                        scan_error::invalid_scanned_value,
3554
276
                        "'u'-option disallows negative values");
3555
276
                }
3556
276
            }
3557
276
        }
3558
3559
46.6k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.6k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.8k
            SCN_TRY(after_digits_it,
3566
406
                    parse_integer_digits_without_thsep(
3567
406
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
406
                        prefix_result.parsed_base));
3569
3570
406
            auto buf = make_contiguous_buffer(
3571
406
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
406
            SCN_TRY(result_it,
3573
400
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
400
                                        prefix_result.parsed_base));
3575
3576
400
            return ranges::next(
3577
400
                prefix_result.iterator,
3578
400
                ranges::distance(buf.view().begin(), result_it));
3579
406
        }
3580
3581
7.78k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.78k
            localized_number_formatting_options<CharT>{loc};
3586
7.78k
#endif
3587
3588
7.78k
        SCN_TRY(parse_digits_result,
3589
4.00k
                parse_integer_digits_with_thsep(
3590
4.00k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.00k
                    prefix_result.parsed_base, locale_options));
3592
4.00k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.00k
            parse_digits_result;
3594
3595
4.00k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
92
        auto nothsep_source_view =
3605
92
            std::basic_string_view<CharT>{nothsep_source};
3606
92
        SCN_TRY(
3607
92
            nothsep_source_it,
3608
92
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
92
                                prefix_result.parsed_base));
3610
3611
92
        return ranges::next(
3612
92
            prefix_result.iterator,
3613
92
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
92
                ranges::ssize(thsep_indices));
3615
92
    }
Unexecuted instantiation: _ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEyEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl19reader_impl_for_intIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEyEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
3538
46.9k
    {
3539
46.9k
        SCN_TRY(prefix_result, parse_integer_prefix(range, specs.get_base())
3540
46.9k
                                   .transform_error(make_eof_scan_error));
3541
3542
46.9k
        if (prefix_result.sign == sign_type::minus_sign) {
3543
276
            if constexpr (!std::is_signed_v<T>) {
3544
276
                return unexpected_scan_error(
3545
276
                    scan_error::invalid_scanned_value,
3546
276
                    "Unexpected '-' sign when parsing an "
3547
276
                    "unsigned value");
3548
276
            }
3549
276
            else {
3550
276
                if (specs.type ==
3551
276
                    detail::presentation_type::int_unsigned_decimal) {
3552
276
                    return unexpected_scan_error(
3553
276
                        scan_error::invalid_scanned_value,
3554
276
                        "'u'-option disallows negative values");
3555
276
                }
3556
276
            }
3557
276
        }
3558
3559
46.6k
        if (prefix_result.is_zero) {
3560
40
            value = T{0};
3561
40
            return std::next(prefix_result.iterator);
3562
40
        }
3563
3564
46.6k
        if (SCN_LIKELY(!specs.localized)) {
3565
38.8k
            SCN_TRY(after_digits_it,
3566
38.8k
                    parse_integer_digits_without_thsep(
3567
38.8k
                        ranges::subrange{prefix_result.iterator, range.end()},
3568
38.8k
                        prefix_result.parsed_base));
3569
3570
38.8k
            auto buf = make_contiguous_buffer(
3571
38.8k
                ranges::subrange{prefix_result.iterator, after_digits_it});
3572
38.8k
            SCN_TRY(result_it,
3573
400
                    parse_integer_value(buf.view(), value, prefix_result.sign,
3574
400
                                        prefix_result.parsed_base));
3575
3576
400
            return ranges::next(
3577
400
                prefix_result.iterator,
3578
400
                ranges::distance(buf.view().begin(), result_it));
3579
38.8k
        }
3580
3581
7.78k
        auto locale_options =
3582
#if SCN_DISABLE_LOCALE
3583
            localized_number_formatting_options<CharT>{};
3584
#else
3585
7.78k
            localized_number_formatting_options<CharT>{loc};
3586
7.78k
#endif
3587
3588
7.78k
        SCN_TRY(parse_digits_result,
3589
4.00k
                parse_integer_digits_with_thsep(
3590
4.00k
                    ranges::subrange{prefix_result.iterator, range.end()},
3591
4.00k
                    prefix_result.parsed_base, locale_options));
3592
4.00k
        const auto& [after_digits_it, nothsep_source, thsep_indices] =
3593
4.00k
            parse_digits_result;
3594
3595
4.00k
        if (!thsep_indices.empty()) {
3596
3.91k
            if (auto e = check_thsep_grouping(
3597
3.91k
                    ranges::subrange{prefix_result.iterator, after_digits_it},
3598
3.91k
                    thsep_indices, locale_options.grouping);
3599
3.91k
                SCN_UNLIKELY(!e)) {
3600
3.91k
                return unexpected(e);
3601
3.91k
            }
3602
3.91k
        }
3603
3604
92
        auto nothsep_source_view =
3605
92
            std::basic_string_view<CharT>{nothsep_source};
3606
92
        SCN_TRY(
3607
92
            nothsep_source_it,
3608
92
            parse_integer_value(nothsep_source_view, value, prefix_result.sign,
3609
92
                                prefix_result.parsed_base));
3610
3611
92
        return ranges::next(
3612
92
            prefix_result.iterator,
3613
92
            ranges::distance(nothsep_source_view.begin(), nothsep_source_it) +
3614
92
                ranges::ssize(thsep_indices));
3615
92
    }
3616
};
3617
3618
/////////////////////////////////////////////////////////////////
3619
// Floating-point reader
3620
/////////////////////////////////////////////////////////////////
3621
3622
struct float_reader_base {
3623
    enum options_type {
3624
        allow_hex = 1,
3625
        allow_scientific = 2,
3626
        allow_fixed = 4,
3627
        allow_thsep = 8
3628
    };
3629
3630
    enum class float_kind {
3631
        tbd = 0,
3632
        generic,             // fixed or scientific
3633
        fixed,               // xxx.yyy
3634
        scientific,          // xxx.yyyEzzz
3635
        hex_without_prefix,  // xxx.yyypzzz
3636
        hex_with_prefix,     // 0Xxxx.yyypzzz
3637
        inf_short,           // inf
3638
        inf_long,            // infinity
3639
        nan_simple,          // nan
3640
        nan_with_payload,    // nan(xxx)
3641
    };
3642
3643
812k
    constexpr float_reader_base() = default;
3644
2.06M
    explicit constexpr float_reader_base(unsigned opt) : m_options(opt) {}
3645
3646
protected:
3647
    unsigned m_options{allow_hex | allow_scientific | allow_fixed};
3648
};
3649
3650
template <typename CharT>
3651
class float_reader : public numeric_reader<CharT>, public float_reader_base {
3652
    using numeric_base = numeric_reader<CharT>;
3653
3654
public:
3655
    using char_type = CharT;
3656
3657
812k
    constexpr float_reader() = default;
scn::v3::impl::float_reader<char>::float_reader()
Line
Count
Source
3657
638k
    constexpr float_reader() = default;
scn::v3::impl::float_reader<wchar_t>::float_reader()
Line
Count
Source
3657
173k
    constexpr float_reader() = default;
3658
3659
2.06M
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v3::impl::float_reader<char>::float_reader(unsigned int)
Line
Count
Source
3659
1.58M
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
scn::v3::impl::float_reader<wchar_t>::float_reader(unsigned int)
Line
Count
Source
3659
486k
    explicit constexpr float_reader(unsigned opt) : float_reader_base(opt) {}
3660
3661
    template <typename Range>
3662
    SCN_NODISCARD auto read_source(Range range, detail::locale_ref)
3663
        -> scan_expected<ranges::const_iterator_t<Range>>
3664
2.32M
    {
3665
2.32M
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
2.32M
        return read_source_impl(range);
3671
2.32M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3664
932k
    {
3665
932k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
932k
        return read_source_impl(range);
3671
932k
    }
_ZN3scn2v34impl12float_readerIcE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3664
258
    {
3665
258
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
258
        return read_source_impl(range);
3671
258
    }
_ZN3scn2v34impl12float_readerIcE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3664
840k
    {
3665
840k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
840k
        return read_source_impl(range);
3671
840k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3664
270k
    {
3665
270k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
270k
        return read_source_impl(range);
3671
270k
    }
_ZN3scn2v34impl12float_readerIwE11read_sourceINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3664
108
    {
3665
108
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
108
        return read_source_impl(range);
3671
108
    }
_ZN3scn2v34impl12float_readerIwE11read_sourceINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3664
281k
    {
3665
281k
        if (SCN_UNLIKELY(m_options & float_reader_base::allow_thsep)) {
3666
0
            m_locale_options = localized_number_formatting_options<CharT>{
3667
0
                classic_with_thsep_tag{}};
3668
0
        }
3669
3670
281k
        return read_source_impl(range);
3671
281k
    }
3672
3673
#if !SCN_DISABLE_LOCALE
3674
    template <typename Range>
3675
    SCN_NODISCARD auto read_source_localized(Range range,
3676
                                             detail::locale_ref loc)
3677
        -> scan_expected<ranges::const_iterator_t<Range>>
3678
556k
    {
3679
556k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
556k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
556k
        return read_source_impl(range);
3685
556k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3678
240k
    {
3679
240k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
240k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
240k
        return read_source_impl(range);
3685
240k
    }
_ZN3scn2v34impl12float_readerIcE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3678
8
    {
3679
8
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
8
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
8
        return read_source_impl(range);
3685
8
    }
_ZN3scn2v34impl12float_readerIcE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3678
206k
    {
3679
206k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
206k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
206k
        return read_source_impl(range);
3685
206k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refE
_ZN3scn2v34impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refE
Line
Count
Source
3678
54.5k
    {
3679
54.5k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
54.5k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
54.5k
        return read_source_impl(range);
3685
54.5k
    }
_ZN3scn2v34impl12float_readerIwE21read_source_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refE
Line
Count
Source
3678
6
    {
3679
6
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
6
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
6
        return read_source_impl(range);
3685
6
    }
_ZN3scn2v34impl12float_readerIwE21read_source_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refE
Line
Count
Source
3678
54.5k
    {
3679
54.5k
        m_locale_options = localized_number_formatting_options<CharT>{loc};
3680
54.5k
        if (SCN_LIKELY((m_options & float_reader_base::allow_thsep) == 0)) {
3681
0
            m_locale_options.thousands_sep = CharT{0};
3682
0
        }
3683
3684
54.5k
        return read_source_impl(range);
3685
54.5k
    }
3686
#endif
3687
3688
    template <typename T>
3689
    SCN_NODISCARD scan_expected<std::ptrdiff_t> parse_value(T& value)
3690
2.57M
    {
3691
2.57M
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
2.57M
        const std::ptrdiff_t sign_len =
3694
2.57M
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
2.57M
        SCN_TRY(n, parse_value_impl(value));
3697
2.43M
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
2.57M
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<float>(float&)
Line
Count
Source
3690
689k
    {
3691
689k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
689k
        const std::ptrdiff_t sign_len =
3694
689k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
689k
        SCN_TRY(n, parse_value_impl(value));
3697
675k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
689k
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<double>(double&)
Line
Count
Source
3690
719k
    {
3691
719k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
719k
        const std::ptrdiff_t sign_len =
3694
719k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
719k
        SCN_TRY(n, parse_value_impl(value));
3697
706k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
719k
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<char>::parse_value<long double>(long double&)
Line
Count
Source
3690
725k
    {
3691
725k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
725k
        const std::ptrdiff_t sign_len =
3694
725k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
725k
        SCN_TRY(n, parse_value_impl(value));
3697
715k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
725k
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<float>(float&)
Line
Count
Source
3690
139k
    {
3691
139k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
139k
        const std::ptrdiff_t sign_len =
3694
139k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
139k
        SCN_TRY(n, parse_value_impl(value));
3697
110k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
139k
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<double>(double&)
Line
Count
Source
3690
152k
    {
3691
152k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
152k
        const std::ptrdiff_t sign_len =
3694
152k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
152k
        SCN_TRY(n, parse_value_impl(value));
3697
114k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
152k
    }
scn::v3::scan_expected<long> scn::v3::impl::float_reader<wchar_t>::parse_value<long double>(long double&)
Line
Count
Source
3690
144k
    {
3691
144k
        SCN_EXPECT(m_kind != float_kind::tbd);
3692
3693
144k
        const std::ptrdiff_t sign_len =
3694
144k
            m_sign != sign_type::default_sign ? 1 : 0;
3695
3696
144k
        SCN_TRY(n, parse_value_impl(value));
3697
116k
        return n + sign_len + ranges::ssize(m_thsep_indices);
3698
144k
    }
3699
3700
private:
3701
    template <typename Range>
3702
    auto read_source_impl(Range range)
3703
        -> scan_expected<ranges::const_iterator_t<Range>>
3704
2.88M
    {
3705
2.88M
        SCN_TRY(sign_result,
3706
2.88M
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
2.88M
        auto it = sign_result.first;
3708
2.88M
        m_sign = sign_result.second;
3709
3710
2.88M
        auto digits_begin = it;
3711
2.88M
        auto r = ranges::subrange{it, range.end()};
3712
2.88M
        if constexpr (ranges::contiguous_range<Range> &&
3713
2.88M
                      ranges::sized_range<Range>) {
3714
1.49M
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
1.49M
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
1.38M
            else {
3724
1.38M
                auto cb = [&](const auto& rr)
3725
1.38M
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
897k
                    auto res = read_all(rr);
3727
897k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
943
                        return unexpected_scan_error(
3729
943
                            scan_error::invalid_scanned_value,
3730
943
                            "Invalid float value");
3731
943
                    }
3732
896k
                    return res;
3733
897k
                };
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3725
694k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
694k
                    auto res = read_all(rr);
3727
694k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
853
                        return unexpected_scan_error(
3729
853
                            scan_error::invalid_scanned_value,
3730
853
                            "Invalid float value");
3731
853
                    }
3732
693k
                    return res;
3733
694k
                };
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E1_clISB_EENSC_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSE_IDtfp_EE4typeEEEEEEESM_
Line
Count
Source
3725
203k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
203k
                    auto res = read_all(rr);
3727
203k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
90
                        return unexpected_scan_error(
3729
90
                            scan_error::invalid_scanned_value,
3730
90
                            "Invalid float value");
3731
90
                    }
3732
203k
                    return res;
3733
203k
                };
3734
1.38M
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
1.28M
            }
3736
1.38M
        }
3737
1.49M
        else {
3738
1.49M
            SCN_TRY_ASSIGN(
3739
1.29M
                it,
3740
1.29M
                do_read_source_impl(
3741
1.29M
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
1.29M
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
1.29M
        }
3744
3745
2.57M
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
2.57M
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
2.57M
            m_kind != float_kind::nan_simple &&
3749
2.57M
            m_kind != float_kind::nan_with_payload) {
3750
2.44M
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
2.44M
        }
3752
3753
2.57M
        handle_separators();
3754
3755
2.57M
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
2.57M
        return it;
3768
2.57M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
_ZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3704
1.17M
    {
3705
1.17M
        SCN_TRY(sign_result,
3706
1.17M
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
1.17M
        auto it = sign_result.first;
3708
1.17M
        m_sign = sign_result.second;
3709
3710
1.17M
        auto digits_begin = it;
3711
1.17M
        auto r = ranges::subrange{it, range.end()};
3712
1.17M
        if constexpr (ranges::contiguous_range<Range> &&
3713
1.17M
                      ranges::sized_range<Range>) {
3714
1.17M
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
1.17M
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
1.17M
                SCN_TRY_ASSIGN(
3717
1.17M
                    it,
3718
1.17M
                    do_read_source_impl(
3719
1.17M
                        r,
3720
1.17M
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
1.17M
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
1.17M
            }
3723
1.17M
            else {
3724
1.17M
                auto cb = [&](const auto& rr)
3725
1.17M
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
1.17M
                    auto res = read_all(rr);
3727
1.17M
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
1.17M
                        return unexpected_scan_error(
3729
1.17M
                            scan_error::invalid_scanned_value,
3730
1.17M
                            "Invalid float value");
3731
1.17M
                    }
3732
1.17M
                    return res;
3733
1.17M
                };
3734
1.17M
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
1.17M
            }
3736
1.17M
        }
3737
1.17M
        else {
3738
1.17M
            SCN_TRY_ASSIGN(
3739
1.11M
                it,
3740
1.11M
                do_read_source_impl(
3741
1.11M
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
1.11M
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
1.11M
        }
3744
3745
1.11M
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
1.11M
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
1.11M
            m_kind != float_kind::nan_simple &&
3749
1.11M
            m_kind != float_kind::nan_with_payload) {
3750
1.05M
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
1.05M
        }
3752
3753
1.11M
        handle_separators();
3754
3755
1.11M
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
1.11M
        return it;
3768
1.11M
    }
_ZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3704
266
    {
3705
266
        SCN_TRY(sign_result,
3706
266
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
266
        auto it = sign_result.first;
3708
266
        m_sign = sign_result.second;
3709
3710
266
        auto digits_begin = it;
3711
266
        auto r = ranges::subrange{it, range.end()};
3712
266
        if constexpr (ranges::contiguous_range<Range> &&
3713
266
                      ranges::sized_range<Range>) {
3714
266
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
266
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
266
                SCN_TRY_ASSIGN(
3717
266
                    it,
3718
266
                    do_read_source_impl(
3719
266
                        r,
3720
266
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
266
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
266
            }
3723
266
            else {
3724
266
                auto cb = [&](const auto& rr)
3725
266
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
266
                    auto res = read_all(rr);
3727
266
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
266
                        return unexpected_scan_error(
3729
266
                            scan_error::invalid_scanned_value,
3730
266
                            "Invalid float value");
3731
266
                    }
3732
266
                    return res;
3733
266
                };
3734
266
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
266
            }
3736
266
        }
3737
266
        else {
3738
266
            SCN_TRY_ASSIGN(
3739
0
                it,
3740
0
                do_read_source_impl(
3741
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
0
        }
3744
3745
0
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
0
            m_kind != float_kind::nan_simple &&
3749
0
            m_kind != float_kind::nan_with_payload) {
3750
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
0
        }
3752
3753
0
        handle_separators();
3754
3755
0
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
0
        return it;
3768
0
    }
_ZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3704
1.04M
    {
3705
1.04M
        SCN_TRY(sign_result,
3706
1.04M
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
1.04M
        auto it = sign_result.first;
3708
1.04M
        m_sign = sign_result.second;
3709
3710
1.04M
        auto digits_begin = it;
3711
1.04M
        auto r = ranges::subrange{it, range.end()};
3712
1.04M
        if constexpr (ranges::contiguous_range<Range> &&
3713
1.04M
                      ranges::sized_range<Range>) {
3714
1.04M
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
1.04M
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
1.04M
            else {
3724
1.04M
                auto cb = [&](const auto& rr)
3725
1.04M
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
1.04M
                    auto res = read_all(rr);
3727
1.04M
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
1.04M
                        return unexpected_scan_error(
3729
1.04M
                            scan_error::invalid_scanned_value,
3730
1.04M
                            "Invalid float value");
3731
1.04M
                    }
3732
1.04M
                    return res;
3733
1.04M
                };
3734
1.04M
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
1.01M
            }
3736
1.04M
        }
3737
1.01M
        else {
3738
1.01M
            SCN_TRY_ASSIGN(
3739
1.01M
                it,
3740
1.01M
                do_read_source_impl(
3741
1.01M
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
1.01M
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
1.01M
        }
3744
3745
1.01M
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
1.01M
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
1.01M
            m_kind != float_kind::nan_simple &&
3749
1.01M
            m_kind != float_kind::nan_with_payload) {
3750
953k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
953k
        }
3752
3753
1.01M
        handle_separators();
3754
3755
1.01M
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
1.01M
        return it;
3768
1.01M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_
_ZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3704
324k
    {
3705
324k
        SCN_TRY(sign_result,
3706
324k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
324k
        auto it = sign_result.first;
3708
324k
        m_sign = sign_result.second;
3709
3710
324k
        auto digits_begin = it;
3711
324k
        auto r = ranges::subrange{it, range.end()};
3712
324k
        if constexpr (ranges::contiguous_range<Range> &&
3713
324k
                      ranges::sized_range<Range>) {
3714
324k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
324k
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
324k
                SCN_TRY_ASSIGN(
3717
324k
                    it,
3718
324k
                    do_read_source_impl(
3719
324k
                        r,
3720
324k
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
324k
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
324k
            }
3723
324k
            else {
3724
324k
                auto cb = [&](const auto& rr)
3725
324k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
324k
                    auto res = read_all(rr);
3727
324k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
324k
                        return unexpected_scan_error(
3729
324k
                            scan_error::invalid_scanned_value,
3730
324k
                            "Invalid float value");
3731
324k
                    }
3732
324k
                    return res;
3733
324k
                };
3734
324k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
324k
            }
3736
324k
        }
3737
324k
        else {
3738
324k
            SCN_TRY_ASSIGN(
3739
171k
                it,
3740
171k
                do_read_source_impl(
3741
171k
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
171k
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
171k
        }
3744
3745
171k
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
171k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
171k
            m_kind != float_kind::nan_simple &&
3749
171k
            m_kind != float_kind::nan_with_payload) {
3750
171k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
171k
        }
3752
3753
171k
        handle_separators();
3754
3755
171k
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
171k
        return it;
3768
171k
    }
_ZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_
Line
Count
Source
3704
114
    {
3705
114
        SCN_TRY(sign_result,
3706
114
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
114
        auto it = sign_result.first;
3708
114
        m_sign = sign_result.second;
3709
3710
114
        auto digits_begin = it;
3711
114
        auto r = ranges::subrange{it, range.end()};
3712
114
        if constexpr (ranges::contiguous_range<Range> &&
3713
114
                      ranges::sized_range<Range>) {
3714
114
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
114
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
114
                SCN_TRY_ASSIGN(
3717
114
                    it,
3718
114
                    do_read_source_impl(
3719
114
                        r,
3720
114
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
114
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
114
            }
3723
114
            else {
3724
114
                auto cb = [&](const auto& rr)
3725
114
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
114
                    auto res = read_all(rr);
3727
114
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
114
                        return unexpected_scan_error(
3729
114
                            scan_error::invalid_scanned_value,
3730
114
                            "Invalid float value");
3731
114
                    }
3732
114
                    return res;
3733
114
                };
3734
114
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
114
            }
3736
114
        }
3737
114
        else {
3738
114
            SCN_TRY_ASSIGN(
3739
0
                it,
3740
0
                do_read_source_impl(
3741
0
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
0
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
0
        }
3744
3745
0
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
0
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
0
            m_kind != float_kind::nan_simple &&
3749
0
            m_kind != float_kind::nan_with_payload) {
3750
0
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
0
        }
3752
3753
0
        handle_separators();
3754
3755
0
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
0
        return it;
3768
0
    }
_ZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3704
335k
    {
3705
335k
        SCN_TRY(sign_result,
3706
335k
                parse_numeric_sign(range).transform_error(make_eof_scan_error));
3707
335k
        auto it = sign_result.first;
3708
335k
        m_sign = sign_result.second;
3709
3710
335k
        auto digits_begin = it;
3711
335k
        auto r = ranges::subrange{it, range.end()};
3712
335k
        if constexpr (ranges::contiguous_range<Range> &&
3713
335k
                      ranges::sized_range<Range>) {
3714
335k
            if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 ||
3715
335k
                             m_locale_options.decimal_point != CharT{'.'})) {
3716
0
                SCN_TRY_ASSIGN(
3717
0
                    it,
3718
0
                    do_read_source_impl(
3719
0
                        r,
3720
0
                        [&](const auto& rr) { return read_regular_float(rr); },
3721
0
                        [&](const auto& rr) { return read_hexfloat(rr); }));
3722
0
            }
3723
335k
            else {
3724
335k
                auto cb = [&](const auto& rr)
3725
335k
                    -> scan_expected<ranges::const_iterator_t<decltype(rr)>> {
3726
335k
                    auto res = read_all(rr);
3727
335k
                    if (SCN_UNLIKELY(res == r.begin())) {
3728
335k
                        return unexpected_scan_error(
3729
335k
                            scan_error::invalid_scanned_value,
3730
335k
                            "Invalid float value");
3731
335k
                    }
3732
335k
                    return res;
3733
335k
                };
3734
335k
                SCN_TRY_ASSIGN(it, do_read_source_impl(r, cb, cb));
3735
264k
            }
3736
335k
        }
3737
264k
        else {
3738
264k
            SCN_TRY_ASSIGN(
3739
264k
                it,
3740
264k
                do_read_source_impl(
3741
264k
                    r, [&](const auto& rr) { return read_regular_float(rr); },
3742
264k
                    [&](const auto& rr) { return read_hexfloat(rr); }));
3743
264k
        }
3744
3745
264k
        SCN_EXPECT(m_kind != float_kind::tbd);
3746
3747
264k
        if (m_kind != float_kind::inf_short && m_kind != float_kind::inf_long &&
3748
264k
            m_kind != float_kind::nan_simple &&
3749
264k
            m_kind != float_kind::nan_with_payload) {
3750
264k
            this->m_buffer.assign(ranges::subrange{digits_begin, it});
3751
264k
        }
3752
3753
264k
        handle_separators();
3754
3755
264k
        if (!m_thsep_indices.empty()) {
3756
0
            SCN_EXPECT(m_integral_part_length >= 0);
3757
0
            if (auto e = check_thsep_grouping(
3758
0
                    ranges::subrange{
3759
0
                        digits_begin,
3760
0
                        ranges::next(digits_begin, m_integral_part_length)},
3761
0
                    m_thsep_indices, m_locale_options.grouping);
3762
0
                SCN_UNLIKELY(!e)) {
3763
0
                return unexpected(e);
3764
0
            }
3765
0
        }
3766
3767
264k
        return it;
3768
264k
    }
3769
3770
    template <typename Range>
3771
    auto read_dec_digits(Range range, bool thsep_allowed)
3772
        -> parse_expected<ranges::const_iterator_t<Range>>
3773
2.80M
    {
3774
2.80M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
2.80M
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3780
0
        }
3781
3782
2.80M
        return read_while1_code_unit(
3783
12.8M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
_ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
Line
Count
Source
3783
9.06M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3783
260
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Line
Count
Source
3783
2.99M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
_ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
Line
Count
Source
3783
564k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3783
108
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
_ZZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
Line
Count
Source
3783
266k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
2.80M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3773
1.63M
    {
3774
1.63M
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
1.63M
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
1.63M
        return read_while1_code_unit(
3783
1.63M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
1.63M
    }
_ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3773
260
    {
3774
260
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
260
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
260
        return read_while1_code_unit(
3783
260
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
260
    }
_ZN3scn2v34impl12float_readerIcE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3773
559k
    {
3774
559k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
559k
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
559k
        return read_while1_code_unit(
3783
559k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
559k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3773
409k
    {
3774
409k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
409k
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
409k
        return read_while1_code_unit(
3783
409k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
409k
    }
_ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3773
108
    {
3774
108
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
108
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
108
        return read_while1_code_unit(
3783
108
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
108
    }
_ZN3scn2v34impl12float_readerIwE15read_dec_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Line
Count
Source
3773
195k
    {
3774
195k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3775
195k
                         thsep_allowed)) {
3776
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3777
0
                return char_to_int(ch) < 10 ||
3778
0
                       ch == m_locale_options.thousands_sep;
3779
0
            });
3780
0
        }
3781
3782
195k
        return read_while1_code_unit(
3783
195k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3784
195k
    }
3785
    template <typename Range>
3786
    auto read_hex_digits(Range range, bool thsep_allowed)
3787
        -> parse_expected<ranges::const_iterator_t<Range>>
3788
621k
    {
3789
621k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
621k
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE_clEw
3795
0
        }
3796
3797
621k
        return read_while1_code_unit(
3798
2.86M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlcE0_clEc
_ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlcE0_clEc
Line
Count
Source
3798
2.73M
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
_ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlcE0_clEc
Line
Count
Source
3798
6
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlcE0_clEc
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_bENKUlwE0_clEw
_ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_bENKUlwE0_clEw
Line
Count
Source
3798
128k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
_ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_bENKUlwE0_clEw
Line
Count
Source
3798
6
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_bENKUlwE0_clEw
3799
621k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3788
532k
    {
3789
532k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
532k
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
532k
        return read_while1_code_unit(
3798
532k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
532k
    }
_ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3788
6
    {
3789
6
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
6
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
6
        return read_while1_code_unit(
3798
6
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_b
_ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_b
Line
Count
Source
3788
89.3k
    {
3789
89.3k
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
89.3k
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
89.3k
        return read_while1_code_unit(
3798
89.3k
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
89.3k
    }
_ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_b
Line
Count
Source
3788
6
    {
3789
6
        if (SCN_UNLIKELY(m_locale_options.thousands_sep != 0 &&
3790
6
                         thsep_allowed)) {
3791
0
            return read_while1_code_unit(range, [&](char_type ch) noexcept {
3792
0
                return char_to_int(ch) < 16 ||
3793
0
                       ch == m_locale_options.thousands_sep;
3794
0
            });
3795
0
        }
3796
3797
6
        return read_while1_code_unit(
3798
6
            range, [](char_type ch) noexcept { return char_to_int(ch) < 16; });
3799
6
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_digitsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_b
3800
    template <typename Range>
3801
    auto read_hex_prefix(Range range)
3802
        -> parse_expected<ranges::const_iterator_t<Range>>
3803
1.86M
    {
3804
1.86M
        return read_matching_string_classic_nocase(range, "0x");
3805
1.86M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3803
777k
    {
3804
777k
        return read_matching_string_classic_nocase(range, "0x");
3805
777k
    }
_ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3803
250
    {
3804
250
        return read_matching_string_classic_nocase(range, "0x");
3805
250
    }
_ZN3scn2v34impl12float_readerIcE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3803
694k
    {
3804
694k
        return read_matching_string_classic_nocase(range, "0x");
3805
694k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3803
192k
    {
3804
192k
        return read_matching_string_classic_nocase(range, "0x");
3805
192k
    }
_ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3803
106
    {
3804
106
        return read_matching_string_classic_nocase(range, "0x");
3805
106
    }
_ZN3scn2v34impl12float_readerIwE15read_hex_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3803
203k
    {
3804
203k
        return read_matching_string_classic_nocase(range, "0x");
3805
203k
    }
3806
3807
    template <typename Range>
3808
    auto read_inf(Range range)
3809
        -> parse_expected<ranges::const_iterator_t<Range>>
3810
2.88M
    {
3811
2.88M
        auto it = range.begin();
3812
2.88M
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
2.85M
            return unexpected(r.error());
3814
2.85M
        }
3815
26.6k
        else {
3816
26.6k
            it = *r;
3817
26.6k
        }
3818
3819
26.6k
        if (auto r = read_matching_string_classic_nocase(
3820
26.6k
                ranges::subrange{it, range.end()}, "inity");
3821
26.6k
            !r) {
3822
15.1k
            m_kind = float_kind::inf_short;
3823
15.1k
            return it;
3824
15.1k
        }
3825
11.4k
        else {
3826
11.4k
            m_kind = float_kind::inf_long;
3827
11.4k
            return *r;
3828
11.4k
        }
3829
26.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3810
1.17M
    {
3811
1.17M
        auto it = range.begin();
3812
1.17M
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
1.15M
            return unexpected(r.error());
3814
1.15M
        }
3815
13.6k
        else {
3816
13.6k
            it = *r;
3817
13.6k
        }
3818
3819
13.6k
        if (auto r = read_matching_string_classic_nocase(
3820
13.6k
                ranges::subrange{it, range.end()}, "inity");
3821
13.6k
            !r) {
3822
7.70k
            m_kind = float_kind::inf_short;
3823
7.70k
            return it;
3824
7.70k
        }
3825
5.90k
        else {
3826
5.90k
            m_kind = float_kind::inf_long;
3827
5.90k
            return *r;
3828
5.90k
        }
3829
13.6k
    }
_ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3810
266
    {
3811
266
        auto it = range.begin();
3812
266
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
266
            return unexpected(r.error());
3814
266
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
_ZN3scn2v34impl12float_readerIcE8read_infINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3810
1.04M
    {
3811
1.04M
        auto it = range.begin();
3812
1.04M
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
1.03M
            return unexpected(r.error());
3814
1.03M
        }
3815
13.0k
        else {
3816
13.0k
            it = *r;
3817
13.0k
        }
3818
3819
13.0k
        if (auto r = read_matching_string_classic_nocase(
3820
13.0k
                ranges::subrange{it, range.end()}, "inity");
3821
13.0k
            !r) {
3822
7.44k
            m_kind = float_kind::inf_short;
3823
7.44k
            return it;
3824
7.44k
        }
3825
5.59k
        else {
3826
5.59k
            m_kind = float_kind::inf_long;
3827
5.59k
            return *r;
3828
5.59k
        }
3829
13.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3810
324k
    {
3811
324k
        auto it = range.begin();
3812
324k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
324k
            return unexpected(r.error());
3814
324k
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
_ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3810
114
    {
3811
114
        auto it = range.begin();
3812
114
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
114
            return unexpected(r.error());
3814
114
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
_ZN3scn2v34impl12float_readerIwE8read_infINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS1_14parse_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3810
335k
    {
3811
335k
        auto it = range.begin();
3812
335k
        if (auto r = read_matching_string_classic_nocase(range, "inf"); !r) {
3813
335k
            return unexpected(r.error());
3814
335k
        }
3815
0
        else {
3816
0
            it = *r;
3817
0
        }
3818
3819
0
        if (auto r = read_matching_string_classic_nocase(
3820
0
                ranges::subrange{it, range.end()}, "inity");
3821
0
            !r) {
3822
0
            m_kind = float_kind::inf_short;
3823
0
            return it;
3824
0
        }
3825
0
        else {
3826
0
            m_kind = float_kind::inf_long;
3827
0
            return *r;
3828
0
        }
3829
0
    }
3830
3831
    template <typename Range>
3832
    auto read_nan(Range range) -> scan_expected<ranges::const_iterator_t<Range>>
3833
2.85M
    {
3834
2.85M
        auto it = range.begin();
3835
2.85M
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
2.75M
            return r.transform_error(map_parse_error_to_scan_error(
3837
2.75M
                scan_error::invalid_scanned_value,
3838
2.75M
                "Invalid floating-point NaN value"));
3839
2.75M
        }
3840
102k
        else {
3841
102k
            it = *r;
3842
102k
        }
3843
3844
102k
        if (auto r =
3845
102k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
102k
            !r) {
3847
97.1k
            m_kind = float_kind::nan_simple;
3848
97.1k
            return it;
3849
97.1k
        }
3850
5.32k
        else {
3851
5.32k
            it = *r;
3852
5.32k
        }
3853
3854
5.32k
        auto payload_beg_it = it;
3855
5.32k
        it = read_while_code_unit(
3856
44.2k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
44.2k
                return is_ascii_char(ch) &&
3858
44.2k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
44.1k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
44.2k
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlcE_clEc
Line
Count
Source
3856
22.1k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
22.1k
                return is_ascii_char(ch) &&
3858
22.1k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
22.0k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
22.1k
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlcE_clEc
Line
Count
Source
3856
22.1k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
22.1k
                return is_ascii_char(ch) &&
3858
22.1k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
22.0k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
22.1k
            });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_ENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlwE_clEw
3861
5.32k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
5.32k
        m_kind = float_kind::nan_with_payload;
3864
5.32k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
5.32k
                                             ')')) {
3866
3.01k
            return *r;
3867
3.01k
        }
3868
2.31k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
2.31k
                                     "Invalid floating-point NaN payload");
3870
5.32k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3833
1.15M
    {
3834
1.15M
        auto it = range.begin();
3835
1.15M
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
1.10M
            return r.transform_error(map_parse_error_to_scan_error(
3837
1.10M
                scan_error::invalid_scanned_value,
3838
1.10M
                "Invalid floating-point NaN value"));
3839
1.10M
        }
3840
51.4k
        else {
3841
51.4k
            it = *r;
3842
51.4k
        }
3843
3844
51.4k
        if (auto r =
3845
51.4k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
51.4k
            !r) {
3847
48.8k
            m_kind = float_kind::nan_simple;
3848
48.8k
            return it;
3849
48.8k
        }
3850
2.67k
        else {
3851
2.67k
            it = *r;
3852
2.67k
        }
3853
3854
2.67k
        auto payload_beg_it = it;
3855
2.67k
        it = read_while_code_unit(
3856
2.67k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
2.67k
                return is_ascii_char(ch) &&
3858
2.67k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
2.67k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
2.67k
            });
3861
2.67k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
2.67k
        m_kind = float_kind::nan_with_payload;
3864
2.67k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
2.67k
                                             ')')) {
3866
1.51k
            return *r;
3867
1.51k
        }
3868
1.16k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
1.16k
                                     "Invalid floating-point NaN payload");
3870
2.67k
    }
_ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3833
266
    {
3834
266
        auto it = range.begin();
3835
266
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
266
            return r.transform_error(map_parse_error_to_scan_error(
3837
266
                scan_error::invalid_scanned_value,
3838
266
                "Invalid floating-point NaN value"));
3839
266
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
_ZN3scn2v34impl12float_readerIcE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3833
1.03M
    {
3834
1.03M
        auto it = range.begin();
3835
1.03M
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
983k
            return r.transform_error(map_parse_error_to_scan_error(
3837
983k
                scan_error::invalid_scanned_value,
3838
983k
                "Invalid floating-point NaN value"));
3839
983k
        }
3840
50.9k
        else {
3841
50.9k
            it = *r;
3842
50.9k
        }
3843
3844
50.9k
        if (auto r =
3845
50.9k
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
50.9k
            !r) {
3847
48.3k
            m_kind = float_kind::nan_simple;
3848
48.3k
            return it;
3849
48.3k
        }
3850
2.65k
        else {
3851
2.65k
            it = *r;
3852
2.65k
        }
3853
3854
2.65k
        auto payload_beg_it = it;
3855
2.65k
        it = read_while_code_unit(
3856
2.65k
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
2.65k
                return is_ascii_char(ch) &&
3858
2.65k
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
2.65k
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
2.65k
            });
3861
2.65k
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
2.65k
        m_kind = float_kind::nan_with_payload;
3864
2.65k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
2.65k
                                             ')')) {
3866
1.49k
            return *r;
3867
1.49k
        }
3868
1.15k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
1.15k
                                     "Invalid floating-point NaN payload");
3870
2.65k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3833
324k
    {
3834
324k
        auto it = range.begin();
3835
324k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
324k
            return r.transform_error(map_parse_error_to_scan_error(
3837
324k
                scan_error::invalid_scanned_value,
3838
324k
                "Invalid floating-point NaN value"));
3839
324k
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
_ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3833
114
    {
3834
114
        auto it = range.begin();
3835
114
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
114
            return r.transform_error(map_parse_error_to_scan_error(
3837
114
                scan_error::invalid_scanned_value,
3838
114
                "Invalid floating-point NaN value"));
3839
114
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
_ZN3scn2v34impl12float_readerIwE8read_nanINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3833
335k
    {
3834
335k
        auto it = range.begin();
3835
335k
        if (auto r = read_matching_string_classic_nocase(range, "nan"); !r) {
3836
335k
            return r.transform_error(map_parse_error_to_scan_error(
3837
335k
                scan_error::invalid_scanned_value,
3838
335k
                "Invalid floating-point NaN value"));
3839
335k
        }
3840
0
        else {
3841
0
            it = *r;
3842
0
        }
3843
3844
0
        if (auto r =
3845
0
                read_matching_code_unit(ranges::subrange{it, range.end()}, '(');
3846
0
            !r) {
3847
0
            m_kind = float_kind::nan_simple;
3848
0
            return it;
3849
0
        }
3850
0
        else {
3851
0
            it = *r;
3852
0
        }
3853
3854
0
        auto payload_beg_it = it;
3855
0
        it = read_while_code_unit(
3856
0
            ranges::subrange{it, range.end()}, [](char_type ch) noexcept {
3857
0
                return is_ascii_char(ch) &&
3858
0
                       ((ch >= '0' && ch <= '9') || (ch >= 'a' && ch <= 'z') ||
3859
0
                        (ch >= 'A' && ch <= 'Z') || ch == '_');
3860
0
            });
3861
0
        m_nan_payload_buffer.assign(ranges::subrange{payload_beg_it, it});
3862
3863
0
        m_kind = float_kind::nan_with_payload;
3864
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3865
0
                                             ')')) {
3866
0
            return *r;
3867
0
        }
3868
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
3869
0
                                     "Invalid floating-point NaN payload");
3870
0
    }
3871
3872
    template <typename Range>
3873
    auto read_exponent(Range range, std::string_view exp)
3874
        -> ranges::const_iterator_t<Range>
3875
1.30M
    {
3876
1.30M
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
152k
            auto beg_exp_it = range.begin();
3878
152k
            auto it = *r;
3879
3880
152k
            if (auto r_sign =
3881
152k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
151k
                it = r_sign->first;
3883
151k
            }
3884
3885
152k
            if (auto r_exp = read_while1_code_unit(
3886
152k
                    ranges::subrange{it, range.end()},
3887
475k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
3887
365k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlcE_clEc
_ZZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlcE_clEc
Line
Count
Source
3887
89.3k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
3887
15.2k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEEENKUlwE_clEw
_ZZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEEENKUlwE_clEw
Line
Count
Source
3887
5.29k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
152k
                SCN_UNLIKELY(!r_exp)) {
3889
4.03k
                it = beg_exp_it;
3890
4.03k
            }
3891
148k
            else {
3892
148k
                it = *r_exp;
3893
148k
            }
3894
3895
152k
            return it;
3896
152k
        }
3897
1.15M
        return range.begin();
3898
1.30M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Line
Count
Source
3875
956k
    {
3876
956k
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
114k
            auto beg_exp_it = range.begin();
3878
114k
            auto it = *r;
3879
3880
114k
            if (auto r_sign =
3881
114k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
114k
                it = r_sign->first;
3883
114k
            }
3884
3885
114k
            if (auto r_exp = read_while1_code_unit(
3886
114k
                    ranges::subrange{it, range.end()},
3887
114k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
114k
                SCN_UNLIKELY(!r_exp)) {
3889
1.86k
                it = beg_exp_it;
3890
1.86k
            }
3891
113k
            else {
3892
113k
                it = *r_exp;
3893
113k
            }
3894
3895
114k
            return it;
3896
114k
        }
3897
841k
        return range.begin();
3898
956k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIcE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3875
174k
    {
3876
174k
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
30.0k
            auto beg_exp_it = range.begin();
3878
30.0k
            auto it = *r;
3879
3880
30.0k
            if (auto r_sign =
3881
30.0k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
29.9k
                it = r_sign->first;
3883
29.9k
            }
3884
3885
30.0k
            if (auto r_exp = read_while1_code_unit(
3886
30.0k
                    ranges::subrange{it, range.end()},
3887
30.0k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
30.0k
                SCN_UNLIKELY(!r_exp)) {
3889
678
                it = beg_exp_it;
3890
678
            }
3891
29.3k
            else {
3892
29.3k
                it = *r_exp;
3893
29.3k
            }
3894
3895
30.0k
            return it;
3896
30.0k
        }
3897
144k
        return range.begin();
3898
174k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESP_NSN_17basic_string_viewIcNSN_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEE
Line
Count
Source
3875
144k
    {
3876
144k
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
5.27k
            auto beg_exp_it = range.begin();
3878
5.27k
            auto it = *r;
3879
3880
5.27k
            if (auto r_sign =
3881
5.27k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
5.21k
                it = r_sign->first;
3883
5.21k
            }
3884
3885
5.27k
            if (auto r_exp = read_while1_code_unit(
3886
5.27k
                    ranges::subrange{it, range.end()},
3887
5.27k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
5.27k
                SCN_UNLIKELY(!r_exp)) {
3889
1.05k
                it = beg_exp_it;
3890
1.05k
            }
3891
4.21k
            else {
3892
4.21k
                it = *r_exp;
3893
4.21k
            }
3894
3895
5.27k
            return it;
3896
5.27k
        }
3897
139k
        return range.begin();
3898
144k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESM_NSK_17basic_string_viewIcNSK_11char_traitsIcEEEE
_ZN3scn2v34impl12float_readerIwE13read_exponentINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEESE_NSC_17basic_string_viewIcNSC_11char_traitsIcEEEE
Line
Count
Source
3875
33.8k
    {
3876
33.8k
        if (auto r = read_one_of_code_unit(range, exp)) {
3877
1.90k
            auto beg_exp_it = range.begin();
3878
1.90k
            auto it = *r;
3879
3880
1.90k
            if (auto r_sign =
3881
1.90k
                    parse_numeric_sign(ranges::subrange{it, range.end()})) {
3882
1.88k
                it = r_sign->first;
3883
1.88k
            }
3884
3885
1.90k
            if (auto r_exp = read_while1_code_unit(
3886
1.90k
                    ranges::subrange{it, range.end()},
3887
1.90k
                    [](char_type ch) noexcept { return char_to_int(ch) < 10; });
3888
1.90k
                SCN_UNLIKELY(!r_exp)) {
3889
430
                it = beg_exp_it;
3890
430
            }
3891
1.47k
            else {
3892
1.47k
                it = *r_exp;
3893
1.47k
            }
3894
3895
1.90k
            return it;
3896
1.90k
        }
3897
31.9k
        return range.begin();
3898
33.8k
    }
3899
3900
    template <typename Range>
3901
    auto read_hexfloat(Range range)
3902
        -> scan_expected<ranges::const_iterator_t<Range>>
3903
326k
    {
3904
326k
        auto it = range.begin();
3905
3906
326k
        std::ptrdiff_t digits_count = 0;
3907
326k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
326k
            SCN_UNLIKELY(!r)) {
3909
30.1k
            return r.transform_error(map_parse_error_to_scan_error(
3910
30.1k
                scan_error::invalid_scanned_value,
3911
30.1k
                "Invalid hexadecimal floating-point value"));
3912
30.1k
        }
3913
295k
        else {
3914
295k
            digits_count += ranges::distance(it, *r);
3915
295k
            it = *r;
3916
295k
        }
3917
3918
295k
        m_integral_part_length = digits_count;
3919
295k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
295k
                                             m_locale_options.decimal_point)) {
3921
39.6k
            it = *r;
3922
39.6k
        }
3923
3924
295k
        if (auto r =
3925
295k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
35.3k
            digits_count += ranges::distance(it, *r);
3927
35.3k
            it = *r;
3928
35.3k
        }
3929
3930
295k
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
295k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
295k
        return it;
3938
295k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3903
269k
    {
3904
269k
        auto it = range.begin();
3905
3906
269k
        std::ptrdiff_t digits_count = 0;
3907
269k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
269k
            SCN_UNLIKELY(!r)) {
3909
6.61k
            return r.transform_error(map_parse_error_to_scan_error(
3910
6.61k
                scan_error::invalid_scanned_value,
3911
6.61k
                "Invalid hexadecimal floating-point value"));
3912
6.61k
        }
3913
262k
        else {
3914
262k
            digits_count += ranges::distance(it, *r);
3915
262k
            it = *r;
3916
262k
        }
3917
3918
262k
        m_integral_part_length = digits_count;
3919
262k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
262k
                                             m_locale_options.decimal_point)) {
3921
39.5k
            it = *r;
3922
39.5k
        }
3923
3924
262k
        if (auto r =
3925
262k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
35.3k
            digits_count += ranges::distance(it, *r);
3927
35.3k
            it = *r;
3928
35.3k
        }
3929
3930
262k
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
262k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
262k
        return it;
3938
262k
    }
_ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3903
6
    {
3904
6
        auto it = range.begin();
3905
3906
6
        std::ptrdiff_t digits_count = 0;
3907
6
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
6
            SCN_UNLIKELY(!r)) {
3909
6
            return r.transform_error(map_parse_error_to_scan_error(
3910
6
                scan_error::invalid_scanned_value,
3911
6
                "Invalid hexadecimal floating-point value"));
3912
6
        }
3913
0
        else {
3914
0
            digits_count += ranges::distance(it, *r);
3915
0
            it = *r;
3916
0
        }
3917
3918
0
        m_integral_part_length = digits_count;
3919
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
0
                                             m_locale_options.decimal_point)) {
3921
0
            it = *r;
3922
0
        }
3923
3924
0
        if (auto r =
3925
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
0
            digits_count += ranges::distance(it, *r);
3927
0
            it = *r;
3928
0
        }
3929
3930
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
0
        return it;
3938
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3903
56.4k
    {
3904
56.4k
        auto it = range.begin();
3905
3906
56.4k
        std::ptrdiff_t digits_count = 0;
3907
56.4k
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
56.4k
            SCN_UNLIKELY(!r)) {
3909
23.5k
            return r.transform_error(map_parse_error_to_scan_error(
3910
23.5k
                scan_error::invalid_scanned_value,
3911
23.5k
                "Invalid hexadecimal floating-point value"));
3912
23.5k
        }
3913
32.8k
        else {
3914
32.8k
            digits_count += ranges::distance(it, *r);
3915
32.8k
            it = *r;
3916
32.8k
        }
3917
3918
32.8k
        m_integral_part_length = digits_count;
3919
32.8k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
32.8k
                                             m_locale_options.decimal_point)) {
3921
96
            it = *r;
3922
96
        }
3923
3924
32.8k
        if (auto r =
3925
32.8k
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
48
            digits_count += ranges::distance(it, *r);
3927
48
            it = *r;
3928
48
        }
3929
3930
32.8k
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
32.8k
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
32.8k
        return it;
3938
32.8k
    }
_ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3903
6
    {
3904
6
        auto it = range.begin();
3905
3906
6
        std::ptrdiff_t digits_count = 0;
3907
6
        if (auto r = read_hex_digits(ranges::subrange{it, range.end()}, true);
3908
6
            SCN_UNLIKELY(!r)) {
3909
6
            return r.transform_error(map_parse_error_to_scan_error(
3910
6
                scan_error::invalid_scanned_value,
3911
6
                "Invalid hexadecimal floating-point value"));
3912
6
        }
3913
0
        else {
3914
0
            digits_count += ranges::distance(it, *r);
3915
0
            it = *r;
3916
0
        }
3917
3918
0
        m_integral_part_length = digits_count;
3919
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3920
0
                                             m_locale_options.decimal_point)) {
3921
0
            it = *r;
3922
0
        }
3923
3924
0
        if (auto r =
3925
0
                read_hex_digits(ranges::subrange{it, range.end()}, false)) {
3926
0
            digits_count += ranges::distance(it, *r);
3927
0
            it = *r;
3928
0
        }
3929
3930
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3931
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3932
0
                                         "No significand digits in hexfloat");
3933
0
        }
3934
3935
0
        it = read_exponent(ranges::subrange{it, range.end()}, "pP");
3936
3937
0
        return it;
3938
0
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE13read_hexfloatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
3939
3940
    template <typename Range>
3941
    auto read_regular_float(Range range)
3942
        -> scan_expected<ranges::const_iterator_t<Range>>
3943
1.52M
    {
3944
1.52M
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
1.52M
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
1.52M
        auto it = ranges::begin(range);
3948
1.52M
        std::ptrdiff_t digits_count = 0;
3949
3950
1.52M
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
1.52M
            SCN_UNLIKELY(!r)) {
3952
253k
            return r.transform_error(
3953
253k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
253k
                                              "Invalid floating-point value"));
3955
253k
        }
3956
1.27M
        else {
3957
1.27M
            digits_count += ranges::distance(it, *r);
3958
1.27M
            it = *r;
3959
1.27M
        }
3960
3961
1.27M
        m_integral_part_length = digits_count;
3962
1.27M
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
1.27M
                                             m_locale_options.decimal_point)) {
3964
204k
            it = *r;
3965
204k
        }
3966
3967
1.27M
        if (auto r =
3968
1.27M
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
186k
            digits_count += ranges::distance(it, *r);
3970
186k
            it = *r;
3971
186k
        }
3972
3973
1.27M
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
1.27M
        auto beg_exp_it = it;
3979
1.27M
        if (allowed_exp) {
3980
1.01M
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
1.01M
        }
3982
1.27M
        if (required_exp && beg_exp_it == it) {
3983
24.3k
            return unexpected_scan_error(
3984
24.3k
                scan_error::invalid_scanned_value,
3985
24.3k
                "No exponent given to scientific float");
3986
24.3k
        }
3987
3988
1.25M
        m_kind =
3989
1.25M
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
1.25M
        return it;
3992
1.27M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3943
838k
    {
3944
838k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
838k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
838k
        auto it = ranges::begin(range);
3948
838k
        std::ptrdiff_t digits_count = 0;
3949
3950
838k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
838k
            SCN_UNLIKELY(!r)) {
3952
37.1k
            return r.transform_error(
3953
37.1k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
37.1k
                                              "Invalid floating-point value"));
3955
37.1k
        }
3956
801k
        else {
3957
801k
            digits_count += ranges::distance(it, *r);
3958
801k
            it = *r;
3959
801k
        }
3960
3961
801k
        m_integral_part_length = digits_count;
3962
801k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
801k
                                             m_locale_options.decimal_point)) {
3964
154k
            it = *r;
3965
154k
        }
3966
3967
801k
        if (auto r =
3968
801k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
141k
            digits_count += ranges::distance(it, *r);
3970
141k
            it = *r;
3971
141k
        }
3972
3973
801k
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
801k
        auto beg_exp_it = it;
3979
801k
        if (allowed_exp) {
3980
693k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
693k
        }
3982
801k
        if (required_exp && beg_exp_it == it) {
3983
10.0k
            return unexpected_scan_error(
3984
10.0k
                scan_error::invalid_scanned_value,
3985
10.0k
                "No exponent given to scientific float");
3986
10.0k
        }
3987
3988
791k
        m_kind =
3989
791k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
791k
        return it;
3992
801k
    }
_ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3943
260
    {
3944
260
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
260
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
260
        auto it = ranges::begin(range);
3948
260
        std::ptrdiff_t digits_count = 0;
3949
3950
260
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
260
            SCN_UNLIKELY(!r)) {
3952
260
            return r.transform_error(
3953
260
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
260
                                              "Invalid floating-point value"));
3955
260
        }
3956
0
        else {
3957
0
            digits_count += ranges::distance(it, *r);
3958
0
            it = *r;
3959
0
        }
3960
3961
0
        m_integral_part_length = digits_count;
3962
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
0
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
0
        if (auto r =
3968
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
0
        auto beg_exp_it = it;
3979
0
        if (allowed_exp) {
3980
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
0
        }
3982
0
        if (required_exp && beg_exp_it == it) {
3983
0
            return unexpected_scan_error(
3984
0
                scan_error::invalid_scanned_value,
3985
0
                "No exponent given to scientific float");
3986
0
        }
3987
3988
0
        m_kind =
3989
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
0
        return it;
3992
0
    }
_ZN3scn2v34impl12float_readerIcE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3943
289k
    {
3944
289k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
289k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
289k
        auto it = ranges::begin(range);
3948
289k
        std::ptrdiff_t digits_count = 0;
3949
3950
289k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
289k
            SCN_UNLIKELY(!r)) {
3952
19.8k
            return r.transform_error(
3953
19.8k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
19.8k
                                              "Invalid floating-point value"));
3955
19.8k
        }
3956
269k
        else {
3957
269k
            digits_count += ranges::distance(it, *r);
3958
269k
            it = *r;
3959
269k
        }
3960
3961
269k
        m_integral_part_length = digits_count;
3962
269k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
269k
                                             m_locale_options.decimal_point)) {
3964
48.9k
            it = *r;
3965
48.9k
        }
3966
3967
269k
        if (auto r =
3968
269k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
44.3k
            digits_count += ranges::distance(it, *r);
3970
44.3k
            it = *r;
3971
44.3k
        }
3972
3973
269k
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
269k
        auto beg_exp_it = it;
3979
269k
        if (allowed_exp) {
3980
174k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
174k
        }
3982
269k
        if (required_exp && beg_exp_it == it) {
3983
9.93k
            return unexpected_scan_error(
3984
9.93k
                scan_error::invalid_scanned_value,
3985
9.93k
                "No exponent given to scientific float");
3986
9.93k
        }
3987
3988
259k
        m_kind =
3989
259k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
259k
        return it;
3992
269k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESQ_
_ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_
Line
Count
Source
3943
268k
    {
3944
268k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
268k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
268k
        auto it = ranges::begin(range);
3948
268k
        std::ptrdiff_t digits_count = 0;
3949
3950
268k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
268k
            SCN_UNLIKELY(!r)) {
3952
127k
            return r.transform_error(
3953
127k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
127k
                                              "Invalid floating-point value"));
3955
127k
        }
3956
141k
        else {
3957
141k
            digits_count += ranges::distance(it, *r);
3958
141k
            it = *r;
3959
141k
        }
3960
3961
141k
        m_integral_part_length = digits_count;
3962
141k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
141k
                                             m_locale_options.decimal_point)) {
3964
405
            it = *r;
3965
405
        }
3966
3967
141k
        if (auto r =
3968
141k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
213
            digits_count += ranges::distance(it, *r);
3970
213
            it = *r;
3971
213
        }
3972
3973
141k
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
141k
        auto beg_exp_it = it;
3979
141k
        if (allowed_exp) {
3980
111k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
111k
        }
3982
141k
        if (required_exp && beg_exp_it == it) {
3983
2.17k
            return unexpected_scan_error(
3984
2.17k
                scan_error::invalid_scanned_value,
3985
2.17k
                "No exponent given to scientific float");
3986
2.17k
        }
3987
3988
139k
        m_kind =
3989
139k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
139k
        return it;
3992
141k
    }
_ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESN_
Line
Count
Source
3943
108
    {
3944
108
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
108
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
108
        auto it = ranges::begin(range);
3948
108
        std::ptrdiff_t digits_count = 0;
3949
3950
108
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
108
            SCN_UNLIKELY(!r)) {
3952
108
            return r.transform_error(
3953
108
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
108
                                              "Invalid floating-point value"));
3955
108
        }
3956
0
        else {
3957
0
            digits_count += ranges::distance(it, *r);
3958
0
            it = *r;
3959
0
        }
3960
3961
0
        m_integral_part_length = digits_count;
3962
0
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
0
                                             m_locale_options.decimal_point)) {
3964
0
            it = *r;
3965
0
        }
3966
3967
0
        if (auto r =
3968
0
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
0
            digits_count += ranges::distance(it, *r);
3970
0
            it = *r;
3971
0
        }
3972
3973
0
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
0
        auto beg_exp_it = it;
3979
0
        if (allowed_exp) {
3980
0
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
0
        }
3982
0
        if (required_exp && beg_exp_it == it) {
3983
0
            return unexpected_scan_error(
3984
0
                scan_error::invalid_scanned_value,
3985
0
                "No exponent given to scientific float");
3986
0
        }
3987
3988
0
        m_kind =
3989
0
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
0
        return it;
3992
0
    }
_ZN3scn2v34impl12float_readerIwE18read_regular_floatINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_
Line
Count
Source
3943
132k
    {
3944
132k
        const bool allowed_exp = (m_options & allow_scientific) != 0;
3945
132k
        const bool required_exp = allowed_exp && (m_options & allow_fixed) == 0;
3946
3947
132k
        auto it = ranges::begin(range);
3948
132k
        std::ptrdiff_t digits_count = 0;
3949
3950
132k
        if (auto r = read_dec_digits(ranges::subrange{it, range.end()}, true);
3951
132k
            SCN_UNLIKELY(!r)) {
3952
68.9k
            return r.transform_error(
3953
68.9k
                map_parse_error_to_scan_error(scan_error::invalid_scanned_value,
3954
68.9k
                                              "Invalid floating-point value"));
3955
68.9k
        }
3956
63.4k
        else {
3957
63.4k
            digits_count += ranges::distance(it, *r);
3958
63.4k
            it = *r;
3959
63.4k
        }
3960
3961
63.4k
        m_integral_part_length = digits_count;
3962
63.4k
        if (auto r = read_matching_code_unit(ranges::subrange{it, range.end()},
3963
63.4k
                                             m_locale_options.decimal_point)) {
3964
210
            it = *r;
3965
210
        }
3966
3967
63.4k
        if (auto r =
3968
63.4k
                read_dec_digits(ranges::subrange{it, range.end()}, false)) {
3969
108
            digits_count += ranges::distance(it, *r);
3970
108
            it = *r;
3971
108
        }
3972
3973
63.4k
        if (SCN_UNLIKELY(digits_count == 0)) {
3974
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
3975
0
                                         "No significand digits in float");
3976
0
        }
3977
3978
63.4k
        auto beg_exp_it = it;
3979
63.4k
        if (allowed_exp) {
3980
33.8k
            it = read_exponent(ranges::subrange{it, range.end()}, "eE");
3981
33.8k
        }
3982
63.4k
        if (required_exp && beg_exp_it == it) {
3983
2.17k
            return unexpected_scan_error(
3984
2.17k
                scan_error::invalid_scanned_value,
3985
2.17k
                "No exponent given to scientific float");
3986
2.17k
        }
3987
3988
61.3k
        m_kind =
3989
61.3k
            (beg_exp_it == it) ? float_kind::fixed : float_kind::scientific;
3990
3991
61.3k
        return it;
3992
63.4k
    }
3993
3994
    template <typename Range, typename ReadRegular, typename ReadHex>
3995
    auto do_read_source_impl(Range range,
3996
                             ReadRegular&& read_regular,
3997
                             ReadHex&& read_hex)
3998
        -> scan_expected<ranges::const_iterator_t<Range>>
3999
2.88M
    {
4000
2.88M
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
2.88M
        const bool allowed_nonhex =
4002
2.88M
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
2.88M
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
2.88M
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
2.88M
        else if (r) {
4011
26.6k
            return *r;
4012
26.6k
        }
4013
4014
2.85M
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
2.31k
            return unexpected(r.error());
4016
2.31k
        }
4017
2.85M
        else if (r) {
4018
100k
            return *r;
4019
100k
        }
4020
4021
2.75M
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
564k
            auto it = range.begin();
4025
4026
564k
            if (auto r = read_hex_prefix(range)) {
4027
22.2k
                m_kind = float_kind::hex_with_prefix;
4028
22.2k
                it = *r;
4029
22.2k
            }
4030
542k
            else {
4031
542k
                m_kind = float_kind::hex_without_prefix;
4032
542k
            }
4033
4034
564k
            return read_hex(ranges::subrange{it, range.end()});
4035
564k
        }
4036
2.18M
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
884k
            m_kind = float_kind::generic;
4040
884k
            return read_regular_float(range);
4041
884k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
1.30M
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
53.1k
            m_kind = float_kind::hex_with_prefix;
4048
53.1k
            return read_hex(ranges::subrange{*r, range.end()});
4049
53.1k
        }
4050
4051
1.25M
        m_kind = float_kind::generic;
4052
1.25M
        return read_regular(range);
4053
1.30M
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
_ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
Line
Count
Source
3999
1.17M
    {
4000
1.17M
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
1.17M
        const bool allowed_nonhex =
4002
1.17M
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
1.17M
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
1.17M
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
1.17M
        else if (r) {
4011
13.6k
            return *r;
4012
13.6k
        }
4013
4014
1.15M
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
1.16k
            return unexpected(r.error());
4016
1.16k
        }
4017
1.15M
        else if (r) {
4018
50.3k
            return *r;
4019
50.3k
        }
4020
4021
1.10M
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
243k
            auto it = range.begin();
4025
4026
243k
            if (auto r = read_hex_prefix(range)) {
4027
11.5k
                m_kind = float_kind::hex_with_prefix;
4028
11.5k
                it = *r;
4029
11.5k
            }
4030
231k
            else {
4031
231k
                m_kind = float_kind::hex_without_prefix;
4032
231k
            }
4033
4034
243k
            return read_hex(ranges::subrange{it, range.end()});
4035
243k
        }
4036
864k
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
330k
            m_kind = float_kind::generic;
4040
330k
            return read_regular_float(range);
4041
330k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
534k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
26.3k
            m_kind = float_kind::hex_with_prefix;
4048
26.3k
            return read_hex(ranges::subrange{*r, range.end()});
4049
26.3k
        }
4050
4051
508k
        m_kind = float_kind::generic;
4052
508k
        return read_regular(range);
4053
534k
    }
_ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
3999
266
    {
4000
266
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
266
        const bool allowed_nonhex =
4002
266
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
266
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
266
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
266
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
266
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
266
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
266
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
6
            auto it = range.begin();
4025
4026
6
            if (auto r = read_hex_prefix(range)) {
4027
0
                m_kind = float_kind::hex_with_prefix;
4028
0
                it = *r;
4029
0
            }
4030
6
            else {
4031
6
                m_kind = float_kind::hex_without_prefix;
4032
6
            }
4033
4034
6
            return read_hex(ranges::subrange{it, range.end()});
4035
6
        }
4036
260
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
16
            m_kind = float_kind::generic;
4040
16
            return read_regular_float(range);
4041
16
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
244
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
0
            m_kind = float_kind::hex_with_prefix;
4048
0
            return read_hex(ranges::subrange{*r, range.end()});
4049
0
        }
4050
4051
244
        m_kind = float_kind::generic;
4052
244
        return read_regular(range);
4053
244
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v34impl12float_readerIcE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
3999
1.04M
    {
4000
1.04M
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
1.04M
        const bool allowed_nonhex =
4002
1.04M
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
1.04M
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
1.04M
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
1.04M
        else if (r) {
4011
13.0k
            return *r;
4012
13.0k
        }
4013
4014
1.03M
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
1.15k
            return unexpected(r.error());
4016
1.15k
        }
4017
1.03M
        else if (r) {
4018
49.8k
            return *r;
4019
49.8k
        }
4020
4021
983k
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
209k
            auto it = range.begin();
4025
4026
209k
            if (auto r = read_hex_prefix(range)) {
4027
10.5k
                m_kind = float_kind::hex_with_prefix;
4028
10.5k
                it = *r;
4029
10.5k
            }
4030
198k
            else {
4031
198k
                m_kind = float_kind::hex_without_prefix;
4032
198k
            }
4033
4034
209k
            return read_hex(ranges::subrange{it, range.end()});
4035
209k
        }
4036
774k
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
289k
            m_kind = float_kind::generic;
4040
289k
            return read_regular_float(range);
4041
289k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
484k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
26.1k
            m_kind = float_kind::hex_with_prefix;
4048
26.1k
            return read_hex(ranges::subrange{*r, range.end()});
4049
26.1k
        }
4050
4051
458k
        m_kind = float_kind::generic;
4052
458k
        return read_regular(range);
4053
484k
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENS1_15take_width_viewINS8_ISE_SF_EEE8sentinelILb1EEEEEZNS3_16read_source_implISJ_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESR_EUlRKSR_E_ZNSN_ISJ_EESW_SR_EUlSY_E0_EESW_SR_OT0_OT1_
_ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_16read_source_implISE_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_EUlRKSJ_E_ZNSF_ISE_EESO_SJ_EUlSQ_E0_EESO_SJ_OT0_OT1_
Line
Count
Source
3999
324k
    {
4000
324k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
324k
        const bool allowed_nonhex =
4002
324k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
324k
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
324k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
324k
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
324k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
324k
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
324k
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
56.1k
            auto it = range.begin();
4025
4026
56.1k
            if (auto r = read_hex_prefix(range)) {
4027
126
                m_kind = float_kind::hex_with_prefix;
4028
126
                it = *r;
4029
126
            }
4030
56.0k
            else {
4031
56.0k
                m_kind = float_kind::hex_without_prefix;
4032
56.0k
            }
4033
4034
56.1k
            return read_hex(ranges::subrange{it, range.end()});
4035
56.1k
        }
4036
268k
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
132k
            m_kind = float_kind::generic;
4040
132k
            return read_regular_float(range);
4041
132k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
136k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
315
            m_kind = float_kind::hex_with_prefix;
4048
315
            return read_hex(ranges::subrange{*r, range.end()});
4049
315
        }
4050
4051
135k
        m_kind = float_kind::generic;
4052
135k
        return read_regular(range);
4053
136k
    }
_ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeINS1_27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS1_15take_width_viewINS8_ISC_SC_EEE8sentinelILb1EEEEEZNS3_16read_source_implISG_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESO_EUlRKSO_E_ZNSK_ISG_EEST_SO_EUlSV_E0_EEST_SO_OT0_OT1_
Line
Count
Source
3999
114
    {
4000
114
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
114
        const bool allowed_nonhex =
4002
114
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
114
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
114
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
114
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
114
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
114
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
114
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
6
            auto it = range.begin();
4025
4026
6
            if (auto r = read_hex_prefix(range)) {
4027
0
                m_kind = float_kind::hex_with_prefix;
4028
0
                it = *r;
4029
0
            }
4030
6
            else {
4031
6
                m_kind = float_kind::hex_without_prefix;
4032
6
            }
4033
4034
6
            return read_hex(ranges::subrange{it, range.end()});
4035
6
        }
4036
108
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
8
            m_kind = float_kind::generic;
4040
8
            return read_regular_float(range);
4041
8
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
100
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
0
            m_kind = float_kind::hex_with_prefix;
4048
0
            return read_hex(ranges::subrange{*r, range.end()});
4049
0
        }
4050
4051
100
        m_kind = float_kind::generic;
4052
100
        return read_regular(range);
4053
100
    }
Unexecuted instantiation: _ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E_ZNSC_ISB_EESL_SG_EUlSN_E0_EESL_SG_OT0_OT1_
_ZN3scn2v34impl12float_readerIwE19do_read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EERZNS3_16read_source_implISB_EENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_EUlRKSG_E1_SP_EESL_SG_OT0_OT1_
Line
Count
Source
3999
335k
    {
4000
335k
        const bool allowed_hex = (m_options & allow_hex) != 0;
4001
335k
        const bool allowed_nonhex =
4002
335k
            (m_options & ~static_cast<unsigned>(allow_thsep) &
4003
335k
             ~static_cast<unsigned>(allow_hex)) != 0;
4004
4005
335k
        if (auto r = read_inf(range); !r && m_kind != float_kind::tbd) {
4006
0
            return r.transform_error(map_parse_error_to_scan_error(
4007
0
                scan_error::invalid_scanned_value,
4008
0
                "Invalid infinite floating-point value"));
4009
0
        }
4010
335k
        else if (r) {
4011
0
            return *r;
4012
0
        }
4013
4014
335k
        if (auto r = read_nan(range); !r && m_kind != float_kind::tbd) {
4015
0
            return unexpected(r.error());
4016
0
        }
4017
335k
        else if (r) {
4018
0
            return *r;
4019
0
        }
4020
4021
335k
        if (allowed_hex && !allowed_nonhex) {
4022
            // only hex allowed:
4023
            // prefix "0x" allowed, not required
4024
56.2k
            auto it = range.begin();
4025
4026
56.2k
            if (auto r = read_hex_prefix(range)) {
4027
126
                m_kind = float_kind::hex_with_prefix;
4028
126
                it = *r;
4029
126
            }
4030
56.0k
            else {
4031
56.0k
                m_kind = float_kind::hex_without_prefix;
4032
56.0k
            }
4033
4034
56.2k
            return read_hex(ranges::subrange{it, range.end()});
4035
56.2k
        }
4036
279k
        if (!allowed_hex && allowed_nonhex) {
4037
            // only nonhex allowed:
4038
            // no prefix allowed
4039
132k
            m_kind = float_kind::generic;
4040
132k
            return read_regular_float(range);
4041
132k
        }
4042
        // both hex and nonhex allowed:
4043
        // check for "0x" prefix -> hex,
4044
        // regular otherwise
4045
4046
146k
        if (auto r = read_hex_prefix(range); SCN_UNLIKELY(r)) {
4047
315
            m_kind = float_kind::hex_with_prefix;
4048
315
            return read_hex(ranges::subrange{*r, range.end()});
4049
315
        }
4050
4051
146k
        m_kind = float_kind::generic;
4052
146k
        return read_regular(range);
4053
146k
    }
4054
4055
    void handle_separators()
4056
2.57M
    {
4057
2.57M
        if (m_locale_options.thousands_sep == 0 &&
4058
2.57M
            m_locale_options.decimal_point == CharT{'.'}) {
4059
2.57M
            return;
4060
2.57M
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
scn::v3::impl::float_reader<char>::handle_separators()
Line
Count
Source
4056
2.13M
    {
4057
2.13M
        if (m_locale_options.thousands_sep == 0 &&
4058
2.13M
            m_locale_options.decimal_point == CharT{'.'}) {
4059
2.13M
            return;
4060
2.13M
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
scn::v3::impl::float_reader<wchar_t>::handle_separators()
Line
Count
Source
4056
436k
    {
4057
436k
        if (m_locale_options.thousands_sep == 0 &&
4058
436k
            m_locale_options.decimal_point == CharT{'.'}) {
4059
436k
            return;
4060
436k
        }
4061
4062
0
        auto& str = this->m_buffer.make_into_allocated_string();
4063
0
        if (m_locale_options.decimal_point != CharT{'.'}) {
4064
0
            for (auto& ch : str) {
4065
0
                if (ch == m_locale_options.decimal_point) {
4066
0
                    ch = CharT{'.'};
4067
0
                }
4068
0
            }
4069
0
        }
4070
4071
0
        if (m_locale_options.thousands_sep == 0) {
4072
0
            return;
4073
0
        }
4074
4075
0
        auto first =
4076
0
            std::find(str.begin(), str.end(), m_locale_options.thousands_sep);
4077
0
        if (first == str.end()) {
4078
0
            return;
4079
0
        }
4080
4081
0
        m_thsep_indices.push_back(
4082
0
            static_cast<char>(ranges::distance(str.begin(), first)));
4083
4084
0
        for (auto it = first; ++it != str.end();) {
4085
0
            if (*it != m_locale_options.thousands_sep) {
4086
0
                *first++ = std::move(*it);
4087
0
            }
4088
0
            else {
4089
0
                m_thsep_indices.push_back(
4090
0
                    static_cast<char>(ranges::distance(str.begin(), it)));
4091
0
            }
4092
0
        }
4093
4094
0
        str.erase(first, str.end());
4095
0
    }
4096
4097
    template <typename T>
4098
    T setsign(T value) const
4099
2.57M
    {
4100
2.57M
        if (m_sign == sign_type::minus_sign) {
4101
249k
            return std::copysign(value, T{-1.0});
4102
249k
        }
4103
2.32M
        return std::copysign(value, T{1.0});
4104
2.57M
    }
float scn::v3::impl::float_reader<char>::setsign<float>(float) const
Line
Count
Source
4099
689k
    {
4100
689k
        if (m_sign == sign_type::minus_sign) {
4101
80.0k
            return std::copysign(value, T{-1.0});
4102
80.0k
        }
4103
609k
        return std::copysign(value, T{1.0});
4104
689k
    }
float scn::v3::impl::float_reader<wchar_t>::setsign<float>(float) const
Line
Count
Source
4099
139k
    {
4100
139k
        if (m_sign == sign_type::minus_sign) {
4101
220
            return std::copysign(value, T{-1.0});
4102
220
        }
4103
138k
        return std::copysign(value, T{1.0});
4104
139k
    }
double scn::v3::impl::float_reader<char>::setsign<double>(double) const
Line
Count
Source
4099
719k
    {
4100
719k
        if (m_sign == sign_type::minus_sign) {
4101
82.9k
            return std::copysign(value, T{-1.0});
4102
82.9k
        }
4103
636k
        return std::copysign(value, T{1.0});
4104
719k
    }
double scn::v3::impl::float_reader<wchar_t>::setsign<double>(double) const
Line
Count
Source
4099
152k
    {
4100
152k
        if (m_sign == sign_type::minus_sign) {
4101
220
            return std::copysign(value, T{-1.0});
4102
220
        }
4103
152k
        return std::copysign(value, T{1.0});
4104
152k
    }
long double scn::v3::impl::float_reader<char>::setsign<long double>(long double) const
Line
Count
Source
4099
725k
    {
4100
725k
        if (m_sign == sign_type::minus_sign) {
4101
85.3k
            return std::copysign(value, T{-1.0});
4102
85.3k
        }
4103
640k
        return std::copysign(value, T{1.0});
4104
725k
    }
long double scn::v3::impl::float_reader<wchar_t>::setsign<long double>(long double) const
Line
Count
Source
4099
144k
    {
4100
144k
        if (m_sign == sign_type::minus_sign) {
4101
227
            return std::copysign(value, T{-1.0});
4102
227
        }
4103
144k
        return std::copysign(value, T{1.0});
4104
144k
    }
4105
4106
    template <typename T>
4107
    scan_expected<std::ptrdiff_t> parse_value_impl(T& value);
4108
4109
    localized_number_formatting_options<CharT> m_locale_options{};
4110
    std::string m_thsep_indices{};
4111
    contiguous_range_factory<CharT> m_nan_payload_buffer{};
4112
    std::ptrdiff_t m_integral_part_length{-1};
4113
    sign_type m_sign{sign_type::default_sign};
4114
    float_kind m_kind{float_kind::tbd};
4115
};
4116
4117
#define SCN_DECLARE_FLOAT_READER_TEMPLATE(CharT, FloatT)                \
4118
    extern template auto float_reader<CharT>::parse_value_impl(FloatT&) \
4119
        -> scan_expected<std::ptrdiff_t>;
4120
4121
#if !SCN_DISABLE_TYPE_FLOAT
4122
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, float)
4123
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, float)
4124
#endif
4125
#if !SCN_DISABLE_TYPE_DOUBLE
4126
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, double)
4127
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, double)
4128
#endif
4129
#if !SCN_DISABLE_TYPE_LONG_DOUBLE
4130
SCN_DECLARE_FLOAT_READER_TEMPLATE(char, long double)
4131
SCN_DECLARE_FLOAT_READER_TEMPLATE(wchar_t, long double)
4132
#endif
4133
4134
#undef SCN_DECLARE_FLOAT_READER_TEMPLATE
4135
4136
template <typename CharT>
4137
class reader_impl_for_float
4138
    : public reader_base<reader_impl_for_float<CharT>, CharT> {
4139
public:
4140
    constexpr reader_impl_for_float() = default;
4141
4142
    void check_specs_impl(const detail::format_specs& specs,
4143
                          reader_error_handler& eh)
4144
2.10M
    {
4145
2.10M
        detail::check_float_type_specs(specs, eh);
4146
2.10M
    }
scn::v3::impl::reader_impl_for_float<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
4144
1.61M
    {
4145
1.61M
        detail::check_float_type_specs(specs, eh);
4146
1.61M
    }
scn::v3::impl::reader_impl_for_float<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
4144
492k
    {
4145
492k
        detail::check_float_type_specs(specs, eh);
4146
492k
    }
4147
4148
    template <typename Range, typename T>
4149
    auto read_default(Range range, T& value, detail::locale_ref loc)
4150
        -> scan_expected<ranges::const_iterator_t<Range>>
4151
812k
    {
4152
812k
        SCN_UNUSED(loc);
4153
4154
812k
        float_reader<CharT> rd{};
4155
812k
        return read_impl<Range>(
4156
812k
            range, rd,
4157
812k
            [](float_reader<CharT>& r, auto&&... args) {
4158
812k
                return r.read_source(SCN_FWD(args)...);
4159
812k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
99.6k
            [](float_reader<CharT>& r, auto&&... args) {
4158
99.6k
                return r.read_source(SCN_FWD(args)...);
4159
99.6k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
105k
            [](float_reader<CharT>& r, auto&&... args) {
4158
105k
                return r.read_source(SCN_FWD(args)...);
4159
105k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
106k
            [](float_reader<CharT>& r, auto&&... args) {
4158
106k
                return r.read_source(SCN_FWD(args)...);
4159
106k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
105k
            [](float_reader<CharT>& r, auto&&... args) {
4158
105k
                return r.read_source(SCN_FWD(args)...);
4159
105k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
110k
            [](float_reader<CharT>& r, auto&&... args) {
4158
110k
                return r.read_source(SCN_FWD(args)...);
4159
110k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
111k
            [](float_reader<CharT>& r, auto&&... args) {
4158
111k
                return r.read_source(SCN_FWD(args)...);
4159
111k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
26.6k
            [](float_reader<CharT>& r, auto&&... args) {
4158
26.6k
                return r.read_source(SCN_FWD(args)...);
4159
26.6k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
37.5k
            [](float_reader<CharT>& r, auto&&... args) {
4158
37.5k
                return r.read_source(SCN_FWD(args)...);
4159
37.5k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SO_EEEDaSR_SU_
Line
Count
Source
4157
27.8k
            [](float_reader<CharT>& r, auto&&... args) {
4158
27.8k
                return r.read_source(SCN_FWD(args)...);
4159
27.8k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
26.5k
            [](float_reader<CharT>& r, auto&&... args) {
4158
26.5k
                return r.read_source(SCN_FWD(args)...);
4159
26.5k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
27.3k
            [](float_reader<CharT>& r, auto&&... args) {
4158
27.3k
                return r.read_source(SCN_FWD(args)...);
4159
27.3k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_SQ_EEEDaST_SW_
Line
Count
Source
4157
27.8k
            [](float_reader<CharT>& r, auto&&... args) {
4158
27.8k
                return r.read_source(SCN_FWD(args)...);
4159
27.8k
            },
4160
812k
            value);
4161
812k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
99.6k
    {
4152
99.6k
        SCN_UNUSED(loc);
4153
4154
99.6k
        float_reader<CharT> rd{};
4155
99.6k
        return read_impl<Range>(
4156
99.6k
            range, rd,
4157
99.6k
            [](float_reader<CharT>& r, auto&&... args) {
4158
99.6k
                return r.read_source(SCN_FWD(args)...);
4159
99.6k
            },
4160
99.6k
            value);
4161
99.6k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
105k
    {
4152
105k
        SCN_UNUSED(loc);
4153
4154
105k
        float_reader<CharT> rd{};
4155
105k
        return read_impl<Range>(
4156
105k
            range, rd,
4157
105k
            [](float_reader<CharT>& r, auto&&... args) {
4158
105k
                return r.read_source(SCN_FWD(args)...);
4159
105k
            },
4160
105k
            value);
4161
105k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
106k
    {
4152
106k
        SCN_UNUSED(loc);
4153
4154
106k
        float_reader<CharT> rd{};
4155
106k
        return read_impl<Range>(
4156
106k
            range, rd,
4157
106k
            [](float_reader<CharT>& r, auto&&... args) {
4158
106k
                return r.read_source(SCN_FWD(args)...);
4159
106k
            },
4160
106k
            value);
4161
106k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
105k
    {
4152
105k
        SCN_UNUSED(loc);
4153
4154
105k
        float_reader<CharT> rd{};
4155
105k
        return read_impl<Range>(
4156
105k
            range, rd,
4157
105k
            [](float_reader<CharT>& r, auto&&... args) {
4158
105k
                return r.read_source(SCN_FWD(args)...);
4159
105k
            },
4160
105k
            value);
4161
105k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
110k
    {
4152
110k
        SCN_UNUSED(loc);
4153
4154
110k
        float_reader<CharT> rd{};
4155
110k
        return read_impl<Range>(
4156
110k
            range, rd,
4157
110k
            [](float_reader<CharT>& r, auto&&... args) {
4158
110k
                return r.read_source(SCN_FWD(args)...);
4159
110k
            },
4160
110k
            value);
4161
110k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
111k
    {
4152
111k
        SCN_UNUSED(loc);
4153
4154
111k
        float_reader<CharT> rd{};
4155
111k
        return read_impl<Range>(
4156
111k
            range, rd,
4157
111k
            [](float_reader<CharT>& r, auto&&... args) {
4158
111k
                return r.read_source(SCN_FWD(args)...);
4159
111k
            },
4160
111k
            value);
4161
111k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
26.6k
    {
4152
26.6k
        SCN_UNUSED(loc);
4153
4154
26.6k
        float_reader<CharT> rd{};
4155
26.6k
        return read_impl<Range>(
4156
26.6k
            range, rd,
4157
26.6k
            [](float_reader<CharT>& r, auto&&... args) {
4158
26.6k
                return r.read_source(SCN_FWD(args)...);
4159
26.6k
            },
4160
26.6k
            value);
4161
26.6k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
37.5k
    {
4152
37.5k
        SCN_UNUSED(loc);
4153
4154
37.5k
        float_reader<CharT> rd{};
4155
37.5k
        return read_impl<Range>(
4156
37.5k
            range, rd,
4157
37.5k
            [](float_reader<CharT>& r, auto&&... args) {
4158
37.5k
                return r.read_source(SCN_FWD(args)...);
4159
37.5k
            },
4160
37.5k
            value);
4161
37.5k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RT0_NS0_6detail10locale_refE
Line
Count
Source
4151
27.8k
    {
4152
27.8k
        SCN_UNUSED(loc);
4153
4154
27.8k
        float_reader<CharT> rd{};
4155
27.8k
        return read_impl<Range>(
4156
27.8k
            range, rd,
4157
27.8k
            [](float_reader<CharT>& r, auto&&... args) {
4158
27.8k
                return r.read_source(SCN_FWD(args)...);
4159
27.8k
            },
4160
27.8k
            value);
4161
27.8k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
26.5k
    {
4152
26.5k
        SCN_UNUSED(loc);
4153
4154
26.5k
        float_reader<CharT> rd{};
4155
26.5k
        return read_impl<Range>(
4156
26.5k
            range, rd,
4157
26.5k
            [](float_reader<CharT>& r, auto&&... args) {
4158
26.5k
                return r.read_source(SCN_FWD(args)...);
4159
26.5k
            },
4160
26.5k
            value);
4161
26.5k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
27.3k
    {
4152
27.3k
        SCN_UNUSED(loc);
4153
4154
27.3k
        float_reader<CharT> rd{};
4155
27.3k
        return read_impl<Range>(
4156
27.3k
            range, rd,
4157
27.3k
            [](float_reader<CharT>& r, auto&&... args) {
4158
27.3k
                return r.read_source(SCN_FWD(args)...);
4159
27.3k
            },
4160
27.3k
            value);
4161
27.3k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RT0_NS9_10locale_refE
Line
Count
Source
4151
27.8k
    {
4152
27.8k
        SCN_UNUSED(loc);
4153
4154
27.8k
        float_reader<CharT> rd{};
4155
27.8k
        return read_impl<Range>(
4156
27.8k
            range, rd,
4157
27.8k
            [](float_reader<CharT>& r, auto&&... args) {
4158
27.8k
                return r.read_source(SCN_FWD(args)...);
4159
27.8k
            },
4160
27.8k
            value);
4161
27.8k
    }
4162
4163
    template <typename Range, typename T>
4164
    auto read_specs(Range range,
4165
                    const detail::format_specs& specs,
4166
                    T& value,
4167
                    detail::locale_ref loc)
4168
        -> scan_expected<ranges::const_iterator_t<Range>>
4169
2.06M
    {
4170
2.06M
        float_reader<CharT> rd{get_options(specs)};
4171
4172
2.06M
#if !SCN_DISABLE_LOCALE
4173
2.06M
        if (specs.localized) {
4174
556k
            return read_impl<Range>(
4175
556k
                range, rd,
4176
556k
                [](float_reader<CharT>& r, auto&&... args) {
4177
556k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
556k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
76.6k
                [](float_reader<CharT>& r, auto&&... args) {
4177
76.6k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
76.6k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
66.4k
                [](float_reader<CharT>& r, auto&&... args) {
4177
66.4k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
66.4k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
81.0k
                [](float_reader<CharT>& r, auto&&... args) {
4177
81.0k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
81.0k
                },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4176
8
                [](float_reader<CharT>& r, auto&&... args) {
4177
8
                    return r.read_source_localized(SCN_FWD(args)...);
4178
8
                },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
69.6k
                [](float_reader<CharT>& r, auto&&... args) {
4177
69.6k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
69.6k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
82.3k
                [](float_reader<CharT>& r, auto&&... args) {
4177
82.3k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
82.3k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
70.7k
                [](float_reader<CharT>& r, auto&&... args) {
4177
70.7k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
70.7k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
17.7k
                [](float_reader<CharT>& r, auto&&... args) {
4177
17.7k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
17.7k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
17.7k
                [](float_reader<CharT>& r, auto&&... args) {
4177
17.7k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
17.7k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
18.2k
                [](float_reader<CharT>& r, auto&&... args) {
4177
18.2k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
18.2k
                },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4176
6
                [](float_reader<CharT>& r, auto&&... args) {
4177
6
                    return r.read_source_localized(SCN_FWD(args)...);
4178
6
                },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
18.2k
                [](float_reader<CharT>& r, auto&&... args) {
4177
18.2k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
18.2k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4176
18.5k
                [](float_reader<CharT>& r, auto&&... args) {
4177
18.5k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
18.5k
                },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4176
18.5k
                [](float_reader<CharT>& r, auto&&... args) {
4177
18.5k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
18.5k
                },
4179
556k
                value, loc);
4180
556k
        }
4181
1.51M
#endif
4182
4183
1.51M
        return read_impl<Range>(
4184
1.51M
            range, rd,
4185
1.51M
            [](float_reader<CharT>& r, auto&&... args) {
4186
1.51M
                return r.read_source(SCN_FWD(args)...);
4187
1.51M
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
196k
            [](float_reader<CharT>& r, auto&&... args) {
4186
196k
                return r.read_source(SCN_FWD(args)...);
4187
196k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
172k
            [](float_reader<CharT>& r, auto&&... args) {
4186
172k
                return r.read_source(SCN_FWD(args)...);
4187
172k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
203k
            [](float_reader<CharT>& r, auto&&... args) {
4186
203k
                return r.read_source(SCN_FWD(args)...);
4187
203k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4185
258
            [](float_reader<CharT>& r, auto&&... args) {
4186
258
                return r.read_source(SCN_FWD(args)...);
4187
258
            },
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
178k
            [](float_reader<CharT>& r, auto&&... args) {
4186
178k
                return r.read_source(SCN_FWD(args)...);
4187
178k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
205k
            [](float_reader<CharT>& r, auto&&... args) {
4186
205k
                return r.read_source(SCN_FWD(args)...);
4187
205k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIcEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
179k
            [](float_reader<CharT>& r, auto&&... args) {
4186
179k
                return r.read_source(SCN_FWD(args)...);
4187
179k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
62.3k
            [](float_reader<CharT>& r, auto&&... args) {
4186
62.3k
                return r.read_source(SCN_FWD(args)...);
4187
62.3k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
62.3k
            [](float_reader<CharT>& r, auto&&... args) {
4186
62.3k
                return r.read_source(SCN_FWD(args)...);
4187
62.3k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
62.8k
            [](float_reader<CharT>& r, auto&&... args) {
4186
62.8k
                return r.read_source(SCN_FWD(args)...);
4187
62.8k
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
Line
Count
Source
4185
108
            [](float_reader<CharT>& r, auto&&... args) {
4186
108
                return r.read_source(SCN_FWD(args)...);
4187
108
            },
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
63.2k
            [](float_reader<CharT>& r, auto&&... args) {
4186
63.2k
                return r.read_source(SCN_FWD(args)...);
4187
63.2k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSG_SV_EEEDaSY_S11_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSE_ST_EEEDaSW_SZ_
Line
Count
Source
4185
63.2k
            [](float_reader<CharT>& r, auto&&... args) {
4186
63.2k
                return r.read_source(SCN_FWD(args)...);
4187
63.2k
            },
Unexecuted instantiation: _ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSD_ST_EEEDaSW_SZ_
_ZZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refEENKUlRNS1_12float_readerIwEEDpOT_E0_clIJSB_SR_EEEDaSU_SX_
Line
Count
Source
4185
63.3k
            [](float_reader<CharT>& r, auto&&... args) {
4186
63.3k
                return r.read_source(SCN_FWD(args)...);
4187
63.3k
            },
4188
1.51M
            value);
4189
2.06M
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
272k
    {
4170
272k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
272k
#if !SCN_DISABLE_LOCALE
4173
272k
        if (specs.localized) {
4174
76.6k
            return read_impl<Range>(
4175
76.6k
                range, rd,
4176
76.6k
                [](float_reader<CharT>& r, auto&&... args) {
4177
76.6k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
76.6k
                },
4179
76.6k
                value, loc);
4180
76.6k
        }
4181
196k
#endif
4182
4183
196k
        return read_impl<Range>(
4184
196k
            range, rd,
4185
196k
            [](float_reader<CharT>& r, auto&&... args) {
4186
196k
                return r.read_source(SCN_FWD(args)...);
4187
196k
            },
4188
196k
            value);
4189
272k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
239k
    {
4170
239k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
239k
#if !SCN_DISABLE_LOCALE
4173
239k
        if (specs.localized) {
4174
66.4k
            return read_impl<Range>(
4175
66.4k
                range, rd,
4176
66.4k
                [](float_reader<CharT>& r, auto&&... args) {
4177
66.4k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
66.4k
                },
4179
66.4k
                value, loc);
4180
66.4k
        }
4181
172k
#endif
4182
4183
172k
        return read_impl<Range>(
4184
172k
            range, rd,
4185
172k
            [](float_reader<CharT>& r, auto&&... args) {
4186
172k
                return r.read_source(SCN_FWD(args)...);
4187
172k
            },
4188
172k
            value);
4189
239k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
284k
    {
4170
284k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
284k
#if !SCN_DISABLE_LOCALE
4173
284k
        if (specs.localized) {
4174
81.0k
            return read_impl<Range>(
4175
81.0k
                range, rd,
4176
81.0k
                [](float_reader<CharT>& r, auto&&... args) {
4177
81.0k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
81.0k
                },
4179
81.0k
                value, loc);
4180
81.0k
        }
4181
203k
#endif
4182
4183
203k
        return read_impl<Range>(
4184
203k
            range, rd,
4185
203k
            [](float_reader<CharT>& r, auto&&... args) {
4186
203k
                return r.read_source(SCN_FWD(args)...);
4187
203k
            },
4188
203k
            value);
4189
284k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4169
266
    {
4170
266
        float_reader<CharT> rd{get_options(specs)};
4171
4172
266
#if !SCN_DISABLE_LOCALE
4173
266
        if (specs.localized) {
4174
8
            return read_impl<Range>(
4175
8
                range, rd,
4176
8
                [](float_reader<CharT>& r, auto&&... args) {
4177
8
                    return r.read_source_localized(SCN_FWD(args)...);
4178
8
                },
4179
8
                value, loc);
4180
8
        }
4181
258
#endif
4182
4183
258
        return read_impl<Range>(
4184
258
            range, rd,
4185
258
            [](float_reader<CharT>& r, auto&&... args) {
4186
258
                return r.read_source(SCN_FWD(args)...);
4187
258
            },
4188
258
            value);
4189
266
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
247k
    {
4170
247k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
247k
#if !SCN_DISABLE_LOCALE
4173
247k
        if (specs.localized) {
4174
69.6k
            return read_impl<Range>(
4175
69.6k
                range, rd,
4176
69.6k
                [](float_reader<CharT>& r, auto&&... args) {
4177
69.6k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
69.6k
                },
4179
69.6k
                value, loc);
4180
69.6k
        }
4181
178k
#endif
4182
4183
178k
        return read_impl<Range>(
4184
178k
            range, rd,
4185
178k
            [](float_reader<CharT>& r, auto&&... args) {
4186
178k
                return r.read_source(SCN_FWD(args)...);
4187
178k
            },
4188
178k
            value);
4189
247k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
287k
    {
4170
287k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
287k
#if !SCN_DISABLE_LOCALE
4173
287k
        if (specs.localized) {
4174
82.3k
            return read_impl<Range>(
4175
82.3k
                range, rd,
4176
82.3k
                [](float_reader<CharT>& r, auto&&... args) {
4177
82.3k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
82.3k
                },
4179
82.3k
                value, loc);
4180
82.3k
        }
4181
205k
#endif
4182
4183
205k
        return read_impl<Range>(
4184
205k
            range, rd,
4185
205k
            [](float_reader<CharT>& r, auto&&... args) {
4186
205k
                return r.read_source(SCN_FWD(args)...);
4187
205k
            },
4188
205k
            value);
4189
287k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
249k
    {
4170
249k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
249k
#if !SCN_DISABLE_LOCALE
4173
249k
        if (specs.localized) {
4174
70.7k
            return read_impl<Range>(
4175
70.7k
                range, rd,
4176
70.7k
                [](float_reader<CharT>& r, auto&&... args) {
4177
70.7k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
70.7k
                },
4179
70.7k
                value, loc);
4180
70.7k
        }
4181
179k
#endif
4182
4183
179k
        return read_impl<Range>(
4184
179k
            range, rd,
4185
179k
            [](float_reader<CharT>& r, auto&&... args) {
4186
179k
                return r.read_source(SCN_FWD(args)...);
4187
179k
            },
4188
179k
            value);
4189
249k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
80.0k
    {
4170
80.0k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
80.0k
#if !SCN_DISABLE_LOCALE
4173
80.0k
        if (specs.localized) {
4174
17.7k
            return read_impl<Range>(
4175
17.7k
                range, rd,
4176
17.7k
                [](float_reader<CharT>& r, auto&&... args) {
4177
17.7k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
17.7k
                },
4179
17.7k
                value, loc);
4180
17.7k
        }
4181
62.3k
#endif
4182
4183
62.3k
        return read_impl<Range>(
4184
62.3k
            range, rd,
4185
62.3k
            [](float_reader<CharT>& r, auto&&... args) {
4186
62.3k
                return r.read_source(SCN_FWD(args)...);
4187
62.3k
            },
4188
62.3k
            value);
4189
80.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
80.1k
    {
4170
80.1k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
80.1k
#if !SCN_DISABLE_LOCALE
4173
80.1k
        if (specs.localized) {
4174
17.7k
            return read_impl<Range>(
4175
17.7k
                range, rd,
4176
17.7k
                [](float_reader<CharT>& r, auto&&... args) {
4177
17.7k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
17.7k
                },
4179
17.7k
                value, loc);
4180
17.7k
        }
4181
62.3k
#endif
4182
4183
62.3k
        return read_impl<Range>(
4184
62.3k
            range, rd,
4185
62.3k
            [](float_reader<CharT>& r, auto&&... args) {
4186
62.3k
                return r.read_source(SCN_FWD(args)...);
4187
62.3k
            },
4188
62.3k
            value);
4189
80.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
81.1k
    {
4170
81.1k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
81.1k
#if !SCN_DISABLE_LOCALE
4173
81.1k
        if (specs.localized) {
4174
18.2k
            return read_impl<Range>(
4175
18.2k
                range, rd,
4176
18.2k
                [](float_reader<CharT>& r, auto&&... args) {
4177
18.2k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
18.2k
                },
4179
18.2k
                value, loc);
4180
18.2k
        }
4181
62.8k
#endif
4182
4183
62.8k
        return read_impl<Range>(
4184
62.8k
            range, rd,
4185
62.8k
            [](float_reader<CharT>& r, auto&&... args) {
4186
62.8k
                return r.read_source(SCN_FWD(args)...);
4187
62.8k
            },
4188
62.8k
            value);
4189
81.1k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
Line
Count
Source
4169
114
    {
4170
114
        float_reader<CharT> rd{get_options(specs)};
4171
4172
114
#if !SCN_DISABLE_LOCALE
4173
114
        if (specs.localized) {
4174
6
            return read_impl<Range>(
4175
6
                range, rd,
4176
6
                [](float_reader<CharT>& r, auto&&... args) {
4177
6
                    return r.read_source_localized(SCN_FWD(args)...);
4178
6
                },
4179
6
                value, loc);
4180
6
        }
4181
108
#endif
4182
4183
108
        return read_impl<Range>(
4184
108
            range, rd,
4185
108
            [](float_reader<CharT>& r, auto&&... args) {
4186
108
                return r.read_source(SCN_FWD(args)...);
4187
108
            },
4188
108
            value);
4189
114
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
81.4k
    {
4170
81.4k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
81.4k
#if !SCN_DISABLE_LOCALE
4173
81.4k
        if (specs.localized) {
4174
18.2k
            return read_impl<Range>(
4175
18.2k
                range, rd,
4176
18.2k
                [](float_reader<CharT>& r, auto&&... args) {
4177
18.2k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
18.2k
                },
4179
18.2k
                value, loc);
4180
18.2k
        }
4181
63.2k
#endif
4182
4183
63.2k
        return read_impl<Range>(
4184
63.2k
            range, rd,
4185
63.2k
            [](float_reader<CharT>& r, auto&&... args) {
4186
63.2k
                return r.read_source(SCN_FWD(args)...);
4187
63.2k
            },
4188
63.2k
            value);
4189
81.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
4169
81.8k
    {
4170
81.8k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
81.8k
#if !SCN_DISABLE_LOCALE
4173
81.8k
        if (specs.localized) {
4174
18.5k
            return read_impl<Range>(
4175
18.5k
                range, rd,
4176
18.5k
                [](float_reader<CharT>& r, auto&&... args) {
4177
18.5k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
18.5k
                },
4179
18.5k
                value, loc);
4180
18.5k
        }
4181
63.2k
#endif
4182
4183
63.2k
        return read_impl<Range>(
4184
63.2k
            range, rd,
4185
63.2k
            [](float_reader<CharT>& r, auto&&... args) {
4186
63.2k
                return r.read_source(SCN_FWD(args)...);
4187
63.2k
            },
4188
63.2k
            value);
4189
81.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERT0_NSN_10locale_refE
_ZN3scn2v34impl21reader_impl_for_floatIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERT0_NSL_10locale_refE
Line
Count
Source
4169
81.8k
    {
4170
81.8k
        float_reader<CharT> rd{get_options(specs)};
4171
4172
81.8k
#if !SCN_DISABLE_LOCALE
4173
81.8k
        if (specs.localized) {
4174
18.5k
            return read_impl<Range>(
4175
18.5k
                range, rd,
4176
18.5k
                [](float_reader<CharT>& r, auto&&... args) {
4177
18.5k
                    return r.read_source_localized(SCN_FWD(args)...);
4178
18.5k
                },
4179
18.5k
                value, loc);
4180
18.5k
        }
4181
63.3k
#endif
4182
4183
63.3k
        return read_impl<Range>(
4184
63.3k
            range, rd,
4185
63.3k
            [](float_reader<CharT>& r, auto&&... args) {
4186
63.3k
                return r.read_source(SCN_FWD(args)...);
4187
63.3k
            },
4188
63.3k
            value);
4189
81.8k
    }
4190
4191
private:
4192
    template <typename Range>
4193
    using read_source_callback_type =
4194
        scan_expected<ranges::const_iterator_t<Range>>(float_reader<CharT>&,
4195
                                                       Range,
4196
                                                       detail::locale_ref);
4197
4198
    template <typename Range, typename T>
4199
    scan_expected<ranges::const_iterator_t<Range>> read_impl(
4200
        Range range,
4201
        float_reader<CharT>& rd,
4202
        function_ref<read_source_callback_type<Range>> read_source_cb,
4203
        T& value,
4204
        detail::locale_ref loc = {})
4205
2.88M
    {
4206
2.88M
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
2.88M
            SCN_UNLIKELY(!r)) {
4208
311k
            return unexpected(r.error());
4209
311k
        }
4210
4211
2.57M
        SCN_TRY(n, rd.parse_value(value));
4212
2.43M
        return ranges::next(range.begin(), n);
4213
2.57M
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
378k
    {
4206
378k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
378k
            SCN_UNLIKELY(!r)) {
4208
17.4k
            return unexpected(r.error());
4209
17.4k
        }
4210
4211
360k
        SCN_TRY(n, rd.parse_value(value));
4212
357k
        return ranges::next(range.begin(), n);
4213
360k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
338k
    {
4206
338k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
338k
            SCN_UNLIKELY(!r)) {
4208
10.2k
            return unexpected(r.error());
4209
10.2k
        }
4210
4211
328k
        SCN_TRY(n, rd.parse_value(value));
4212
317k
        return ranges::next(range.begin(), n);
4213
328k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
395k
    {
4206
395k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
395k
            SCN_UNLIKELY(!r)) {
4208
18.4k
            return unexpected(r.error());
4209
18.4k
        }
4210
4211
377k
        SCN_TRY(n, rd.parse_value(value));
4212
375k
        return ranges::next(range.begin(), n);
4213
377k
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
266
    {
4206
266
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
266
            SCN_UNLIKELY(!r)) {
4208
266
            return unexpected(r.error());
4209
266
        }
4210
4211
0
        SCN_TRY(n, rd.parse_value(value));
4212
0
        return ranges::next(range.begin(), n);
4213
0
    }
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
352k
    {
4206
352k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
352k
            SCN_UNLIKELY(!r)) {
4208
10.6k
            return unexpected(r.error());
4209
10.6k
        }
4210
4211
342k
        SCN_TRY(n, rd.parse_value(value));
4212
331k
        return ranges::next(range.begin(), n);
4213
342k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIcEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIcEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
399k
    {
4206
399k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
399k
            SCN_UNLIKELY(!r)) {
4208
19.1k
            return unexpected(r.error());
4209
19.1k
        }
4210
4211
380k
        SCN_TRY(n, rd.parse_value(value));
4212
379k
        return ranges::next(range.begin(), n);
4213
380k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIcEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIcEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
356k
    {
4206
356k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
356k
            SCN_UNLIKELY(!r)) {
4208
10.8k
            return unexpected(r.error());
4209
10.8k
        }
4210
4211
345k
        SCN_TRY(n, rd.parse_value(value));
4212
335k
        return ranges::next(range.begin(), n);
4213
345k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
106k
    {
4206
106k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
106k
            SCN_UNLIKELY(!r)) {
4208
50.6k
            return unexpected(r.error());
4209
50.6k
        }
4210
4211
56.0k
        SCN_TRY(n, rd.parse_value(value));
4212
55.2k
        return ranges::next(range.begin(), n);
4213
56.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEfEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEfEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
106k
    {
4206
106k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
106k
            SCN_UNLIKELY(!r)) {
4208
23.6k
            return unexpected(r.error());
4209
23.6k
        }
4210
4211
83.1k
        SCN_TRY(n, rd.parse_value(value));
4212
55.2k
        return ranges::next(range.begin(), n);
4213
83.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
108k
    {
4206
108k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
108k
            SCN_UNLIKELY(!r)) {
4208
50.9k
            return unexpected(r.error());
4209
50.9k
        }
4210
4211
57.5k
        SCN_TRY(n, rd.parse_value(value));
4212
57.0k
        return ranges::next(range.begin(), n);
4213
57.5k
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEdEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
114
    {
4206
114
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
114
            SCN_UNLIKELY(!r)) {
4208
114
            return unexpected(r.error());
4209
114
        }
4210
4211
0
        SCN_TRY(n, rd.parse_value(value));
4212
0
        return ranges::next(range.begin(), n);
4213
0
    }
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEdEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
119k
    {
4206
119k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
119k
            SCN_UNLIKELY(!r)) {
4208
23.7k
            return unexpected(r.error());
4209
23.7k
        }
4210
4211
95.3k
        SCN_TRY(n, rd.parse_value(value));
4212
57.1k
        return ranges::next(range.begin(), n);
4213
95.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNS1_12float_readerIwEENS1_12function_refIFSP_SS_SK_NSA_10locale_refEENS1_12fnref_detail11qual_fn_sigISV_E8functionEEERT0_SU_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS1_12float_readerIwEENS1_12function_refIFSN_SQ_SI_NS9_10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
Line
Count
Source
4205
109k
    {
4206
109k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
109k
            SCN_UNLIKELY(!r)) {
4208
51.3k
            return unexpected(r.error());
4209
51.3k
        }
4210
4211
58.3k
        SCN_TRY(n, rd.parse_value(value));
4212
58.3k
        return ranges::next(range.begin(), n);
4213
58.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEeEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNS1_12float_readerIwEENS1_12function_refIFSM_SP_SH_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigIST_E8functionEEERT0_SS_
_ZN3scn2v34impl21reader_impl_for_floatIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEeEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS1_12float_readerIwEENS1_12function_refIFSK_SN_SF_NS0_6detail10locale_refEENS1_12fnref_detail11qual_fn_sigISR_E8functionEEERT0_SQ_
Line
Count
Source
4205
109k
    {
4206
109k
        if (auto r = std::invoke(read_source_cb, rd, range, loc);
4207
109k
            SCN_UNLIKELY(!r)) {
4208
23.8k
            return unexpected(r.error());
4209
23.8k
        }
4210
4211
85.9k
        SCN_TRY(n, rd.parse_value(value));
4212
58.3k
        return ranges::next(range.begin(), n);
4213
85.9k
    }
4214
4215
    static unsigned get_options(const detail::format_specs& specs)
4216
2.06M
    {
4217
2.06M
        unsigned options{};
4218
2.06M
        if (specs.localized) {
4219
556k
            options |= float_reader_base::allow_thsep;
4220
556k
        }
4221
4222
2.06M
        SCN_GCC_COMPAT_PUSH
4223
2.06M
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
2.06M
        switch (specs.type) {
4226
337k
            case detail::presentation_type::float_fixed:
4227
337k
                return options | float_reader_base::allow_fixed;
4228
4229
87.3k
            case detail::presentation_type::float_scientific:
4230
87.3k
                return options | float_reader_base::allow_scientific;
4231
4232
593k
            case detail::presentation_type::float_hex:
4233
593k
                return options | float_reader_base::allow_hex;
4234
4235
494k
            case detail::presentation_type::float_general:
4236
494k
                return options | float_reader_base::allow_scientific |
4237
494k
                       float_reader_base::allow_fixed;
4238
4239
556k
            case detail::presentation_type::none:
4240
556k
                return options | float_reader_base::allow_scientific |
4241
556k
                       float_reader_base::allow_fixed |
4242
556k
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
2.06M
                SCN_UNREACHABLE;
4247
2.06M
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
2.06M
    }
scn::v3::impl::reader_impl_for_float<char>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
4216
1.58M
    {
4217
1.58M
        unsigned options{};
4218
1.58M
        if (specs.localized) {
4219
447k
            options |= float_reader_base::allow_thsep;
4220
447k
        }
4221
4222
1.58M
        SCN_GCC_COMPAT_PUSH
4223
1.58M
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
1.58M
        switch (specs.type) {
4226
230k
            case detail::presentation_type::float_fixed:
4227
230k
                return options | float_reader_base::allow_fixed;
4228
4229
38.6k
            case detail::presentation_type::float_scientific:
4230
38.6k
                return options | float_reader_base::allow_scientific;
4231
4232
480k
            case detail::presentation_type::float_hex:
4233
480k
                return options | float_reader_base::allow_hex;
4234
4235
385k
            case detail::presentation_type::float_general:
4236
385k
                return options | float_reader_base::allow_scientific |
4237
385k
                       float_reader_base::allow_fixed;
4238
4239
447k
            case detail::presentation_type::none:
4240
447k
                return options | float_reader_base::allow_scientific |
4241
447k
                       float_reader_base::allow_fixed |
4242
447k
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
1.58M
                SCN_UNREACHABLE;
4247
1.58M
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
1.58M
    }
scn::v3::impl::reader_impl_for_float<wchar_t>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
4216
486k
    {
4217
486k
        unsigned options{};
4218
486k
        if (specs.localized) {
4219
109k
            options |= float_reader_base::allow_thsep;
4220
109k
        }
4221
4222
486k
        SCN_GCC_COMPAT_PUSH
4223
486k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
4224
4225
486k
        switch (specs.type) {
4226
106k
            case detail::presentation_type::float_fixed:
4227
106k
                return options | float_reader_base::allow_fixed;
4228
4229
48.6k
            case detail::presentation_type::float_scientific:
4230
48.6k
                return options | float_reader_base::allow_scientific;
4231
4232
112k
            case detail::presentation_type::float_hex:
4233
112k
                return options | float_reader_base::allow_hex;
4234
4235
109k
            case detail::presentation_type::float_general:
4236
109k
                return options | float_reader_base::allow_scientific |
4237
109k
                       float_reader_base::allow_fixed;
4238
4239
109k
            case detail::presentation_type::none:
4240
109k
                return options | float_reader_base::allow_scientific |
4241
109k
                       float_reader_base::allow_fixed |
4242
109k
                       float_reader_base::allow_hex;
4243
4244
0
            default:
4245
0
                SCN_EXPECT(false);
4246
486k
                SCN_UNREACHABLE;
4247
486k
        }
4248
4249
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
4250
486k
    }
4251
};
4252
4253
/////////////////////////////////////////////////////////////////
4254
// Regex reader
4255
/////////////////////////////////////////////////////////////////
4256
4257
// Forward declaration for C++17 compatibility with regex disabled
4258
template <typename CharT, typename Input>
4259
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4260
                             detail::regex_flags flags,
4261
                             Input input,
4262
                             basic_regex_matches<CharT>& value)
4263
    -> scan_expected<ranges::iterator_t<Input>>;
4264
4265
#if !SCN_DISABLE_REGEX
4266
4267
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4268
constexpr auto make_regex_flags(detail::regex_flags flags)
4269
    -> scan_expected<std::regex_constants::syntax_option_type>
4270
14.9k
{
4271
14.9k
    std::regex_constants::syntax_option_type result{};
4272
14.9k
    if ((flags & detail::regex_flags::multiline) != detail::regex_flags::none) {
4273
360
#if SCN_HAS_STD_REGEX_MULTILINE
4274
360
        result |= std::regex_constants::multiline;
4275
#else
4276
        return unexpected_scan_error(
4277
            scan_error::invalid_format_string,
4278
            "/m flag for regex isn't supported by regex backend");
4279
#endif
4280
360
    }
4281
14.9k
    if ((flags & detail::regex_flags::singleline) !=
4282
14.9k
        detail::regex_flags::none) {
4283
0
        return unexpected_scan_error(
4284
0
            scan_error::invalid_format_string,
4285
0
            "/s flag for regex isn't supported by regex backend");
4286
0
    }
4287
14.9k
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4288
1.57k
        result |= std::regex_constants::icase;
4289
1.57k
    }
4290
14.9k
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4291
12
        result |= std::regex_constants::nosubs;
4292
12
    }
4293
14.9k
    return result;
4294
14.9k
}
4295
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4296
constexpr auto make_regex_flags(detail::regex_flags flags)
4297
    -> boost::regex_constants::syntax_option_type
4298
{
4299
    boost::regex_constants::syntax_option_type result{};
4300
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4301
        result |= boost::regex_constants::no_mod_m;
4302
    }
4303
    if ((flags & detail::regex_flags::singleline) !=
4304
        detail::regex_flags::none) {
4305
        result |= boost::regex_constants::mod_s;
4306
    }
4307
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4308
        result |= boost::regex_constants::icase;
4309
    }
4310
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4311
        result |= boost::regex_constants::nosubs;
4312
    }
4313
    return result;
4314
}
4315
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4316
inline auto make_regex_flags(detail::regex_flags flags)
4317
    -> std::pair<RE2::Options, std::string_view>
4318
{
4319
    RE2::Options opt{RE2::Quiet};
4320
    std::string_view stringflags{};
4321
4322
    if ((flags & detail::regex_flags::multiline) == detail::regex_flags::none) {
4323
        stringflags = "(?m)";
4324
    }
4325
    if ((flags & detail::regex_flags::singleline) !=
4326
        detail::regex_flags::none) {
4327
        opt.set_dot_nl(true);
4328
    }
4329
    if ((flags & detail::regex_flags::nocase) != detail::regex_flags::none) {
4330
        opt.set_case_sensitive(false);
4331
    }
4332
    if ((flags & detail::regex_flags::nocapture) != detail::regex_flags::none) {
4333
        opt.set_never_capture(true);
4334
    }
4335
4336
    return {opt, stringflags};
4337
}
4338
#endif  // SCN_REGEX_BACKEND == ...
4339
4340
template <typename CharT, typename Input>
4341
auto read_regex_string_impl(std::basic_string_view<CharT> pattern,
4342
                            detail::regex_flags flags,
4343
                            Input input)
4344
    -> scan_expected<ranges::iterator_t<Input>>
4345
14.9k
{
4346
14.9k
    static_assert(ranges::contiguous_range<Input> &&
4347
14.9k
                  ranges::borrowed_range<Input> &&
4348
14.9k
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
14.9k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
14.9k
    std::basic_regex<CharT> re{};
4352
14.9k
    try {
4353
14.9k
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
14.9k
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
14.9k
                                     re_flags | std::regex_constants::nosubs};
4356
14.9k
    }
4357
14.9k
    catch (const std::regex_error& err) {
4358
7.17k
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
7.17k
                                     "Invalid regex");
4360
7.17k
    }
4361
4362
7.72k
    std::match_results<const CharT*> matches{};
4363
7.72k
    try {
4364
7.72k
        bool found = std::regex_search(input.data(),
4365
7.72k
                                       input.data() + input.size(), matches, re,
4366
7.72k
                                       std::regex_constants::match_continuous);
4367
7.72k
        if (!found || matches.prefix().matched) {
4368
5.02k
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
5.02k
                                         "Regular expression didn't match");
4370
5.02k
        }
4371
7.72k
    }
4372
7.72k
    catch (const std::regex_error& err) {
4373
180
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
180
                                     "Regex matching failed with an error");
4375
180
    }
4376
4377
2.52k
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
7.72k
}
Unexecuted instantiation: _ZN3scn2v34impl22read_regex_string_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v34impl22read_regex_string_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4345
9.51k
{
4346
9.51k
    static_assert(ranges::contiguous_range<Input> &&
4347
9.51k
                  ranges::borrowed_range<Input> &&
4348
9.51k
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
9.51k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
9.51k
    std::basic_regex<CharT> re{};
4352
9.51k
    try {
4353
9.51k
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
9.51k
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
9.51k
                                     re_flags | std::regex_constants::nosubs};
4356
9.51k
    }
4357
9.51k
    catch (const std::regex_error& err) {
4358
4.86k
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
4.86k
                                     "Invalid regex");
4360
4.86k
    }
4361
4362
4.65k
    std::match_results<const CharT*> matches{};
4363
4.65k
    try {
4364
4.65k
        bool found = std::regex_search(input.data(),
4365
4.65k
                                       input.data() + input.size(), matches, re,
4366
4.65k
                                       std::regex_constants::match_continuous);
4367
4.65k
        if (!found || matches.prefix().matched) {
4368
2.73k
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
2.73k
                                         "Regular expression didn't match");
4370
2.73k
        }
4371
4.65k
    }
4372
4.65k
    catch (const std::regex_error& err) {
4373
174
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
174
                                     "Regex matching failed with an error");
4375
174
    }
4376
4377
1.74k
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
4.65k
}
Unexecuted instantiation: _ZN3scn2v34impl22read_regex_string_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_
_ZN3scn2v34impl22read_regex_string_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_
Line
Count
Source
4345
5.38k
{
4346
5.38k
    static_assert(ranges::contiguous_range<Input> &&
4347
5.38k
                  ranges::borrowed_range<Input> &&
4348
5.38k
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4349
4350
5.38k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4351
5.38k
    std::basic_regex<CharT> re{};
4352
5.38k
    try {
4353
5.38k
        SCN_TRY(re_flags, make_regex_flags(flags));
4354
5.38k
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(),
4355
5.38k
                                     re_flags | std::regex_constants::nosubs};
4356
5.38k
    }
4357
5.38k
    catch (const std::regex_error& err) {
4358
2.31k
        return unexpected_scan_error(scan_error::invalid_format_string,
4359
2.31k
                                     "Invalid regex");
4360
2.31k
    }
4361
4362
3.07k
    std::match_results<const CharT*> matches{};
4363
3.07k
    try {
4364
3.07k
        bool found = std::regex_search(input.data(),
4365
3.07k
                                       input.data() + input.size(), matches, re,
4366
3.07k
                                       std::regex_constants::match_continuous);
4367
3.07k
        if (!found || matches.prefix().matched) {
4368
2.29k
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4369
2.29k
                                         "Regular expression didn't match");
4370
2.29k
        }
4371
3.07k
    }
4372
3.07k
    catch (const std::regex_error& err) {
4373
6
        return unexpected_scan_error(scan_error::invalid_format_string,
4374
6
                                     "Regex matching failed with an error");
4375
6
    }
4376
4377
774
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4378
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4379
    auto re =
4380
#if SCN_REGEX_BOOST_USE_ICU
4381
        boost::make_u32regex(pattern.data(), pattern.data() + pattern.size(),
4382
                             make_regex_flags(flags) |
4383
                                 boost::regex_constants::no_except |
4384
                                 boost::regex_constants::nosubs);
4385
#else
4386
        boost::basic_regex<CharT>{pattern.data(), pattern.size(),
4387
                                  make_regex_flags(flags) |
4388
                                      boost::regex_constants::no_except |
4389
                                      boost::regex_constants::nosubs};
4390
#endif
4391
    if (re.status() != 0) {
4392
        return unexpected_scan_error(scan_error::invalid_format_string,
4393
                                     "Invalid regex");
4394
    }
4395
4396
    boost::match_results<const CharT*> matches{};
4397
    try {
4398
        bool found =
4399
#if SCN_REGEX_BOOST_USE_ICU
4400
            boost::u32regex_search(input.data(), input.data() + input.size(),
4401
                                   matches, re,
4402
                                   boost::regex_constants::match_continuous);
4403
#else
4404
            boost::regex_search(input.data(), input.data() + input.size(),
4405
                                matches, re,
4406
                                boost::regex_constants::match_continuous);
4407
#endif
4408
        if (!found || matches.prefix().matched) {
4409
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4410
                                         "Regular expression didn't match");
4411
        }
4412
    }
4413
    catch (const std::runtime_error& err) {
4414
        return unexpected_scan_error(scan_error::invalid_format_string,
4415
                                     "Regex matching failed with an error");
4416
    }
4417
4418
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4419
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4420
    static_assert(std::is_same_v<CharT, char>);
4421
    std::string flagged_pattern{};
4422
    auto re = [&]() {
4423
        auto [opts, flagstr] = make_regex_flags(flags);
4424
        opts.set_never_capture(true);
4425
        if (flagstr.empty()) {
4426
            return re2::RE2{pattern, opts};
4427
        }
4428
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4429
        flagged_pattern.append(flagstr);
4430
        flagged_pattern.append(pattern);
4431
        return re2::RE2{flagged_pattern, opts};
4432
    }();
4433
    if (!re.ok()) {
4434
        return unexpected_scan_error(scan_error::invalid_format_string,
4435
                                     "Failed to parse regular expression");
4436
    }
4437
4438
    auto new_input = detail::make_string_view_from_pointers(
4439
        detail::to_address(input.begin()), detail::to_address(input.end()));
4440
    bool found = re2::RE2::Consume(&new_input, re);
4441
    if (!found) {
4442
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4443
                                     "Regular expression didn't match");
4444
    }
4445
    return input.begin() + ranges::distance(input.data(), new_input.data());
4446
#endif  // SCN_REGEX_BACKEND == ...
4447
3.07k
}
4448
4449
template <typename CharT, typename Input>
4450
auto read_regex_matches_impl(std::basic_string_view<CharT> pattern,
4451
                             detail::regex_flags flags,
4452
                             Input input,
4453
                             basic_regex_matches<CharT>& value)
4454
    -> scan_expected<ranges::iterator_t<Input>>
4455
0
{
4456
0
    static_assert(ranges::contiguous_range<Input> &&
4457
0
                  ranges::borrowed_range<Input> &&
4458
0
                  std::is_same_v<ranges::range_value_t<Input>, CharT>);
4459
4460
0
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
4461
0
    std::basic_regex<CharT> re{};
4462
0
    try {
4463
0
        SCN_TRY(re_flags, make_regex_flags(flags));
4464
0
        re = std::basic_regex<CharT>{pattern.data(), pattern.size(), re_flags};
4465
0
    }
4466
0
    catch (const std::regex_error& err) {
4467
0
        return unexpected_scan_error(scan_error::invalid_format_string,
4468
0
                                     "Invalid regex");
4469
0
    }
4470
4471
0
    std::match_results<const CharT*> matches{};
4472
0
    try {
4473
0
        bool found = std::regex_search(input.data(),
4474
0
                                       input.data() + input.size(), matches, re,
4475
0
                                       std::regex_constants::match_continuous);
4476
0
        if (!found || matches.prefix().matched) {
4477
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4478
0
                                         "Regular expression didn't match");
4479
0
        }
4480
0
    }
4481
0
    catch (const std::regex_error& err) {
4482
0
        return unexpected_scan_error(scan_error::invalid_format_string,
4483
0
                                     "Regex matching failed with an error");
4484
0
    }
4485
4486
0
    value.resize(matches.size());
4487
0
    std::transform(matches.begin(), matches.end(), value.begin(),
4488
0
                   [](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4489
0
                       if (!match.matched)
4490
0
                           return std::nullopt;
4491
0
                       return detail::make_string_view_from_pointers(
4492
0
                           match.first, match.second);
4493
0
                   });
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRKNS3_9sub_matchIPKcEEEENS3_8optionalINS0_17basic_regex_matchIcEEEESM_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRKNSF_9sub_matchIS8_EEEENSF_8optionalINS0_17basic_regex_matchIcEEEESQ_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EEENKUlOSE_E_clIRKNS3_9sub_matchIPKwEEEENS3_8optionalINS0_17basic_regex_matchIwEEEESM_
Unexecuted instantiation: _ZZN3scn2v34impl23read_regex_matches_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EEENKUlOSH_E_clIRKNSF_9sub_matchIS8_EEEENSF_8optionalINS0_17basic_regex_matchIwEEEESQ_
4494
0
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4495
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_BOOST
4496
    std::vector<std::basic_string<CharT>> names;
4497
    for (size_t i = 0; i < pattern.size();) {
4498
        if constexpr (std::is_same_v<CharT, char>) {
4499
            i = pattern.find("(?<", i);
4500
        }
4501
        else {
4502
            i = pattern.find(L"(?<", i);
4503
        }
4504
4505
        if (i == std::basic_string_view<CharT>::npos) {
4506
            break;
4507
        }
4508
        if (i > 0 && pattern[i - 1] == CharT{'\\'}) {
4509
            if (i == 1 || pattern[i - 2] != CharT{'\\'}) {
4510
                i += 3;
4511
                continue;
4512
            }
4513
        }
4514
4515
        i += 3;
4516
        auto end_i = pattern.find(CharT{'>'}, i);
4517
        if (end_i == std::basic_string_view<CharT>::npos) {
4518
            break;
4519
        }
4520
        names.emplace_back(pattern.substr(i, end_i - i));
4521
    }
4522
4523
    auto re =
4524
#if SCN_REGEX_BOOST_USE_ICU
4525
        boost::make_u32regex(
4526
            pattern.data(), pattern.data() + pattern.size(),
4527
            make_regex_flags(flags) | boost::regex_constants::no_except);
4528
#else
4529
        boost::basic_regex<CharT>{
4530
            pattern.data(), pattern.size(),
4531
            make_regex_flags(flags) | boost::regex_constants::no_except};
4532
#endif
4533
    if (re.status() != 0) {
4534
        return unexpected_scan_error(scan_error::invalid_format_string,
4535
                                     "Invalid regex");
4536
    }
4537
4538
    boost::match_results<const CharT*> matches{};
4539
    try {
4540
        bool found =
4541
#if SCN_REGEX_BOOST_USE_ICU
4542
            boost::u32regex_search(input.data(), input.data() + input.size(),
4543
                                   matches, re,
4544
                                   boost::regex_constants::match_continuous);
4545
#else
4546
            boost::regex_search(input.data(), input.data() + input.size(),
4547
                                matches, re,
4548
                                boost::regex_constants::match_continuous);
4549
#endif
4550
        if (!found || matches.prefix().matched) {
4551
            return unexpected_scan_error(scan_error::invalid_scanned_value,
4552
                                         "Regular expression didn't match");
4553
        }
4554
    }
4555
    catch (const std::runtime_error& err) {
4556
        return unexpected_scan_error(scan_error::invalid_format_string,
4557
                                     "Regex matching failed with an error");
4558
    }
4559
4560
    value.resize(matches.size());
4561
    std::transform(
4562
        matches.begin(), matches.end(), value.begin(),
4563
        [&](auto&& match) -> std::optional<basic_regex_match<CharT>> {
4564
            if (!match.matched)
4565
                return std::nullopt;
4566
            auto sv = detail::make_string_view_from_pointers(match.first,
4567
                                                             match.second);
4568
4569
            if (auto name_it = std::find_if(
4570
                    names.begin(), names.end(),
4571
                    [&](const auto& name) { return match == matches[name]; });
4572
                name_it != names.end()) {
4573
                return basic_regex_match<CharT>{sv, *name_it};
4574
            }
4575
            return sv;
4576
        });
4577
    return input.begin() + ranges::distance(input.data(), matches[0].second);
4578
#elif SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_RE2
4579
    static_assert(std::is_same_v<CharT, char>);
4580
    std::string flagged_pattern{};
4581
    auto re = [&]() {
4582
        auto [opts, flagstr] = make_regex_flags(flags);
4583
        if (flagstr.empty()) {
4584
            return re2::RE2{pattern, opts};
4585
        }
4586
        flagged_pattern.reserve(flagstr.size() + pattern.size());
4587
        flagged_pattern.append(flagstr);
4588
        flagged_pattern.append(pattern);
4589
        return re2::RE2{flagged_pattern, opts};
4590
    }();
4591
    if (!re.ok()) {
4592
        return unexpected_scan_error(scan_error::invalid_format_string,
4593
                                     "Failed to parse regular expression");
4594
    }
4595
    // TODO: Optimize into a single batch allocation
4596
    const auto max_matches_n =
4597
        static_cast<size_t>(re.NumberOfCapturingGroups());
4598
    std::vector<std::optional<std::string_view>> matches(max_matches_n);
4599
    std::vector<re2::RE2::Arg> match_args(max_matches_n);
4600
    std::vector<re2::RE2::Arg*> match_argptrs(max_matches_n);
4601
    std::transform(matches.begin(), matches.end(), match_args.begin(),
4602
                   [](auto& val) { return re2::RE2::Arg{&val}; });
4603
    std::transform(match_args.begin(), match_args.end(), match_argptrs.begin(),
4604
                   [](auto& arg) { return &arg; });
4605
    auto new_input = detail::make_string_view_from_pointers(
4606
        detail::to_address(input.begin()), detail::to_address(input.end()));
4607
    bool found = re2::RE2::ConsumeN(&new_input, re, match_argptrs.data(),
4608
                                    match_argptrs.size());
4609
    if (!found) {
4610
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4611
                                     "Regular expression didn't match");
4612
    }
4613
    value.resize(matches.size() + 1);
4614
    value[0] =
4615
        detail::make_string_view_from_pointers(input.data(), new_input.data());
4616
    std::transform(matches.begin(), matches.end(), value.begin() + 1,
4617
                   [&](auto&& match) -> std::optional<regex_match> {
4618
                       if (!match)
4619
                           return std::nullopt;
4620
                       return *match;
4621
                   });
4622
    {
4623
        const auto& capturing_groups = re.CapturingGroupNames();
4624
        for (size_t i = 1; i < value.size(); ++i) {
4625
            if (auto it = capturing_groups.find(static_cast<int>(i));
4626
                it != capturing_groups.end()) {
4627
                auto val = value[i]->get();
4628
                value[i].emplace(val, it->second);
4629
            };
4630
        }
4631
    }
4632
    return input.begin() + ranges::distance(input.data(), new_input.data());
4633
#endif  // SCN_REGEX_BACKEND == ...
4634
0
}
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIcNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIcNS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIwNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEENS4_IT_NS5_ISE_EEEENS0_6detail11regex_flagsESA_RNS0_19basic_regex_matchesISE_EE
Unexecuted instantiation: _ZN3scn2v34impl23read_regex_matches_implIwNS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT0_EEEEEENSt3__117basic_string_viewIT_NSF_11char_traitsISH_EEEENS0_6detail11regex_flagsESB_RNS0_19basic_regex_matchesISH_EE
4635
4636
inline std::string get_unescaped_regex_pattern(std::string_view pattern)
4637
1.09k
{
4638
1.09k
    std::string result{pattern};
4639
6.74k
    for (size_t n = 0; (n = result.find("\\/", n)) != std::string::npos;) {
4640
5.64k
        result.replace(n, 2, "/");
4641
5.64k
        ++n;
4642
5.64k
    }
4643
1.09k
    return result;
4644
1.09k
}
4645
inline std::wstring get_unescaped_regex_pattern(std::wstring_view pattern)
4646
198
{
4647
198
    std::wstring result{pattern};
4648
684
    for (size_t n = 0; (n = result.find(L"\\/", n)) != std::wstring::npos;) {
4649
486
        result.replace(n, 2, L"/");
4650
486
        ++n;
4651
486
    }
4652
198
    return result;
4653
198
}
4654
4655
#endif  // !SCN_DISABLE_REGEX
4656
4657
template <typename SourceCharT>
4658
struct regex_matches_reader
4659
    : public reader_base<regex_matches_reader<SourceCharT>, SourceCharT> {
4660
    void check_specs_impl(const detail::format_specs& specs,
4661
                          reader_error_handler& eh)
4662
0
    {
4663
0
        detail::check_regex_type_specs(specs, eh);
4664
0
        SCN_EXPECT(specs.charset_string_data != nullptr);
4665
0
        SCN_EXPECT(specs.charset_string_size > 0);
4666
0
    }
Unexecuted instantiation: scn::v3::impl::regex_matches_reader<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Unexecuted instantiation: scn::v3::impl::regex_matches_reader<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
4667
4668
    template <typename Range, typename DestCharT>
4669
    auto read_default(Range,
4670
                      basic_regex_matches<DestCharT>&,
4671
                      detail::locale_ref = {})
4672
        -> scan_expected<ranges::const_iterator_t<Range>>
4673
0
    {
4674
0
        return unexpected_scan_error(
4675
0
            scan_error::invalid_format_string,
4676
0
            "No regex given in format string for scanning regex_matches");
4677
0
    }
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNS0_19basic_regex_matchesIT0_EENS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
4678
4679
    template <typename Range, typename DestCharT>
4680
    auto read_specs(Range range,
4681
                    const detail::format_specs& specs,
4682
                    basic_regex_matches<DestCharT>& value,
4683
                    detail::locale_ref = {})
4684
        -> scan_expected<ranges::const_iterator_t<Range>>
4685
0
    {
4686
0
        if constexpr (!std::is_same_v<SourceCharT, DestCharT>) {
4687
0
            return unexpected_scan_error(
4688
0
                scan_error::invalid_scanned_value,
4689
0
                "Cannot transcode is regex_matches_reader");
4690
0
        }
4691
0
        else if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4692
0
                           !std::is_same_v<SourceCharT, char>) {
4693
0
            return unexpected_scan_error(
4694
0
                scan_error::invalid_scanned_value,
4695
0
                "Regex backend doesn't support wide strings as input");
4696
0
        }
4697
0
        else {
4698
0
            if (!is_entire_source_contiguous(range)) {
4699
0
                return unexpected_scan_error(
4700
0
                    scan_error::invalid_scanned_value,
4701
0
                    "Cannot use regex with a non-contiguous source "
4702
0
                    "range");
4703
0
            }
4704
4705
0
            auto input = get_as_contiguous(range);
4706
0
            SCN_TRY(it,
4707
0
                    impl(input,
4708
0
                         specs.type == detail::presentation_type::regex_escaped,
4709
0
                         specs.charset_string<SourceCharT>(),
4710
0
                         specs.regexp_flags, value));
4711
0
            return ranges::next(range.begin(),
4712
0
                                ranges::distance(input.begin(), it));
4713
0
        }
4714
0
    }
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNS0_19basic_regex_matchesIT0_EENSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNS0_19basic_regex_matchesIT0_EENS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20regex_matches_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNS0_19basic_regex_matchesIT0_EENSL_10locale_refE
4715
4716
private:
4717
    template <typename Range, typename DestCharT>
4718
    auto impl(Range input,
4719
              bool is_escaped,
4720
              std::basic_string_view<SourceCharT> pattern,
4721
              detail::regex_flags flags,
4722
              basic_regex_matches<DestCharT>& value)
4723
0
    {
4724
0
        if constexpr (detail::is_type_disabled<
4725
0
                          basic_regex_matches<DestCharT>>) {
4726
0
            SCN_EXPECT(false);
4727
0
            SCN_UNREACHABLE;
4728
0
        }
4729
0
        else {
4730
0
            if (is_escaped) {
4731
0
                return read_regex_matches_impl<SourceCharT>(
4732
0
                    get_unescaped_regex_pattern(pattern), flags, input, value);
4733
0
            }
4734
0
            return read_regex_matches_impl(pattern, flags, input, value);
4735
0
        }
4736
0
    }
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<char>::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<char>::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool, std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<wchar_t>::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: auto scn::v3::impl::regex_matches_reader<wchar_t>::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::regex_flags, scn::v3::basic_regex_matches<wchar_t>&)
4737
};
4738
4739
template <typename CharT>
4740
struct reader_impl_for_regex_matches : public regex_matches_reader<CharT> {};
4741
4742
/////////////////////////////////////////////////////////////////
4743
// String reader
4744
/////////////////////////////////////////////////////////////////
4745
4746
template <typename Range, typename Iterator, typename ValueCharT>
4747
auto read_string_impl(Range range,
4748
                      Iterator&& result,
4749
                      std::basic_string<ValueCharT>& value)
4750
    -> scan_expected<ranges::const_iterator_t<Range>>
4751
7.80M
{
4752
7.80M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
7.80M
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
7.80M
    if (!validate_unicode(src.view())) {
4756
52.6k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
52.6k
                                     "Invalid encoding in scanned string");
4758
52.6k
    }
4759
7.74M
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
7.74M
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
7.74M
    return SCN_MOVE(result);
4765
7.74M
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Line
Count
Source
4751
301k
{
4752
301k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
301k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
301k
    if (!validate_unicode(src.view())) {
4756
7.13k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
7.13k
                                     "Invalid encoding in scanned string");
4758
7.13k
    }
4759
294k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
294k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
294k
    return SCN_MOVE(result);
4765
294k
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
Line
Count
Source
4751
1.83k
{
4752
1.83k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
1.83k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
1.83k
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
1.83k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
1.83k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
1.83k
    return SCN_MOVE(result);
4765
1.83k
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
326
{
4752
326
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
326
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
326
    if (!validate_unicode(src.view())) {
4756
118
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
118
                                     "Invalid encoding in scanned string");
4758
118
    }
4759
208
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
208
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
208
    return SCN_MOVE(result);
4765
208
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4751
194
{
4752
194
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
194
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
194
    if (!validate_unicode(src.view())) {
4756
52
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
52
                                     "Invalid encoding in scanned string");
4758
52
    }
4759
142
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
142
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
142
    return SCN_MOVE(result);
4765
142
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
266k
{
4752
266k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
266k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
266k
    if (!validate_unicode(src.view())) {
4756
8.11k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
8.11k
                                     "Invalid encoding in scanned string");
4758
8.11k
    }
4759
258k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
258k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
258k
    return SCN_MOVE(result);
4765
258k
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
2.99k
{
4752
2.99k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
2.99k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
2.99k
    if (!validate_unicode(src.view())) {
4756
154
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
154
                                     "Invalid encoding in scanned string");
4758
154
    }
4759
2.83k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
2.83k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
2.83k
    return SCN_MOVE(result);
4765
2.83k
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
326
{
4752
326
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
326
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
326
    if (!validate_unicode(src.view())) {
4756
118
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
118
                                     "Invalid encoding in scanned string");
4758
118
    }
4759
208
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
208
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
208
    return SCN_MOVE(result);
4765
208
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
Line
Count
Source
4751
194
{
4752
194
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
194
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
194
    if (!validate_unicode(src.view())) {
4756
52
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
52
                                     "Invalid encoding in scanned string");
4758
52
    }
4759
142
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
142
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
142
    return SCN_MOVE(result);
4765
142
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
952
{
4752
952
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
952
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
952
    if (!validate_unicode(src.view())) {
4756
318
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
318
                                     "Invalid encoding in scanned string");
4758
318
    }
4759
634
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
634
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
634
    return SCN_MOVE(result);
4765
634
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
1.15k
{
4752
1.15k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
1.15k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
1.15k
    if (!validate_unicode(src.view())) {
4756
154
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
154
                                     "Invalid encoding in scanned string");
4758
154
    }
4759
1.00k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
1.00k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
1.00k
    return SCN_MOVE(result);
4765
1.00k
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
136
{
4752
136
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
136
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
136
    if (!validate_unicode(src.view())) {
4756
62
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
62
                                     "Invalid encoding in scanned string");
4758
62
    }
4759
74
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
74
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
74
    return SCN_MOVE(result);
4765
74
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
10.5k
{
4752
10.5k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
10.5k
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
10.5k
    if (!validate_unicode(src.view())) {
4756
276
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
276
                                     "Invalid encoding in scanned string");
4758
276
    }
4759
10.2k
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
10.2k
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
10.2k
    return SCN_MOVE(result);
4765
10.2k
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
356
{
4752
356
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
356
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
356
    if (!validate_unicode(src.view())) {
4756
118
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
118
                                     "Invalid encoding in scanned string");
4758
118
    }
4759
238
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
238
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
238
    return SCN_MOVE(result);
4765
238
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_12basic_stringIT1_NSJ_11char_traitsISU_EENSJ_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_12basic_stringIT1_NSK_11char_traitsISV_EENSK_9allocatorISV_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_12basic_stringIT1_NSE_11char_traitsISP_EENSE_9allocatorISP_EEEE
Line
Count
Source
4751
3.60M
{
4752
3.60M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
3.60M
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
3.60M
    if (!validate_unicode(src.view())) {
4756
17.7k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
17.7k
                                     "Invalid encoding in scanned string");
4758
17.7k
    }
4759
3.58M
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
3.58M
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
3.58M
    return SCN_MOVE(result);
4765
3.58M
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_12basic_stringIT1_NSF_11char_traitsISQ_EENSF_9allocatorISQ_EEEE
Line
Count
Source
4751
130
{
4752
130
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
130
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
130
    if (!validate_unicode(src.view())) {
4756
0
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
0
                                     "Invalid encoding in scanned string");
4758
0
    }
4759
130
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
130
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
130
    return SCN_MOVE(result);
4765
130
}
_ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_12basic_stringIT1_NSG_11char_traitsISR_EENSG_9allocatorISR_EEEE
Line
Count
Source
4751
136
{
4752
136
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
136
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
136
    if (!validate_unicode(src.view())) {
4756
62
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
62
                                     "Invalid encoding in scanned string");
4758
62
    }
4759
74
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
74
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
74
    return SCN_MOVE(result);
4765
74
}
Unexecuted instantiation: _ZN3scn2v34impl16read_string_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_12basic_stringIT1_NSH_11char_traitsISS_EENSH_9allocatorISS_EEEE
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_12basic_stringIT1_NSB_11char_traitsISM_EENSB_9allocatorISM_EEEE
Line
Count
Source
4751
3.61M
{
4752
3.61M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
3.61M
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
3.61M
    if (!validate_unicode(src.view())) {
4756
18.0k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
18.0k
                                     "Invalid encoding in scanned string");
4758
18.0k
    }
4759
3.59M
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
3.59M
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
3.59M
    return SCN_MOVE(result);
4765
3.59M
}
_ZN3scn2v34impl16read_string_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_12basic_stringIT1_NSC_11char_traitsISN_EENSC_9allocatorISN_EEEE
Line
Count
Source
4751
486
{
4752
486
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4753
4754
486
    auto src = make_contiguous_buffer(ranges::subrange{range.begin(), result});
4755
486
    if (!validate_unicode(src.view())) {
4756
118
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4757
118
                                     "Invalid encoding in scanned string");
4758
118
    }
4759
368
    if (auto e = transcode_if_necessary(SCN_MOVE(src), value);
4760
368
        SCN_UNLIKELY(!e)) {
4761
0
        return unexpected(e);
4762
0
    }
4763
4764
368
    return SCN_MOVE(result);
4765
368
}
4766
4767
template <typename Range, typename Iterator, typename ValueCharT>
4768
auto read_string_view_impl(Range range,
4769
                           Iterator&& result,
4770
                           std::basic_string_view<ValueCharT>& value)
4771
    -> scan_expected<ranges::const_iterator_t<Range>>
4772
3.88M
{
4773
3.88M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
3.88M
    auto src = [&]() {
4776
3.88M
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
3.88M
            return make_contiguous_buffer(
4778
3.88M
                ranges::subrange{range.begin().base(), result.base()});
4779
3.88M
        }
4780
3.88M
        else {
4781
3.88M
            return make_contiguous_buffer(
4782
3.88M
                ranges::subrange{range.begin(), result});
4783
3.88M
        }
4784
3.88M
    }();
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4775
326
    auto src = [&]() {
4776
326
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
326
            return make_contiguous_buffer(
4778
326
                ranges::subrange{range.begin().base(), result.base()});
4779
326
        }
4780
326
        else {
4781
326
            return make_contiguous_buffer(
4782
326
                ranges::subrange{range.begin(), result});
4783
326
        }
4784
326
    }();
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Line
Count
Source
4775
194
    auto src = [&]() {
4776
194
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
194
            return make_contiguous_buffer(
4778
194
                ranges::subrange{range.begin().base(), result.base()});
4779
194
        }
4780
194
        else {
4781
194
            return make_contiguous_buffer(
4782
194
                ranges::subrange{range.begin(), result});
4783
194
        }
4784
194
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4775
266k
    auto src = [&]() {
4776
266k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
266k
            return make_contiguous_buffer(
4778
266k
                ranges::subrange{range.begin().base(), result.base()});
4779
266k
        }
4780
266k
        else {
4781
266k
            return make_contiguous_buffer(
4782
266k
                ranges::subrange{range.begin(), result});
4783
266k
        }
4784
266k
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4775
2.99k
    auto src = [&]() {
4776
2.99k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
2.99k
            return make_contiguous_buffer(
4778
2.99k
                ranges::subrange{range.begin().base(), result.base()});
4779
2.99k
        }
4780
2.99k
        else {
4781
2.99k
            return make_contiguous_buffer(
4782
2.99k
                ranges::subrange{range.begin(), result});
4783
2.99k
        }
4784
2.99k
    }();
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEEENKUlvE_clEv
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEEENKUlvE_clEv
_ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEEENKUlvE_clEv
Line
Count
Source
4775
136
    auto src = [&]() {
4776
136
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
136
            return make_contiguous_buffer(
4778
136
                ranges::subrange{range.begin().base(), result.base()});
4779
136
        }
4780
136
        else {
4781
136
            return make_contiguous_buffer(
4782
136
                ranges::subrange{range.begin(), result});
4783
136
        }
4784
136
    }();
Unexecuted instantiation: _ZZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEEENKUlvE_clEv
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEEENKUlvE_clEv
Line
Count
Source
4775
3.61M
    auto src = [&]() {
4776
3.61M
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
3.61M
            return make_contiguous_buffer(
4778
3.61M
                ranges::subrange{range.begin().base(), result.base()});
4779
3.61M
        }
4780
3.61M
        else {
4781
3.61M
            return make_contiguous_buffer(
4782
3.61M
                ranges::subrange{range.begin(), result});
4783
3.61M
        }
4784
3.61M
    }();
_ZZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEEENKUlvE_clEv
Line
Count
Source
4775
486
    auto src = [&]() {
4776
486
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
486
            return make_contiguous_buffer(
4778
486
                ranges::subrange{range.begin().base(), result.base()});
4779
486
        }
4780
486
        else {
4781
486
            return make_contiguous_buffer(
4782
486
                ranges::subrange{range.begin(), result});
4783
486
        }
4784
486
    }();
4785
3.88M
    using src_type = decltype(src);
4786
4787
3.88M
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
3.88M
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
3.88M
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
3.88M
                                     "Cannot read a string_view from "
4796
3.88M
                                     "this source range (would require "
4797
3.88M
                                     "transcoding)");
4798
3.88M
    }
4799
3.88M
    else {
4800
3.88M
        const auto view = src.view();
4801
3.88M
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
3.88M
        if (!validate_unicode(value)) {
4804
26.6k
            return unexpected_scan_error(
4805
26.6k
                scan_error::invalid_scanned_value,
4806
26.6k
                "Invalid encoding in scanned string_view");
4807
26.6k
        }
4808
4809
3.85M
        return SCN_MOVE(result);
4810
3.88M
    }
4811
3.88M
}
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4772
326
{
4773
326
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
326
    auto src = [&]() {
4776
326
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
326
            return make_contiguous_buffer(
4778
326
                ranges::subrange{range.begin().base(), result.base()});
4779
326
        }
4780
326
        else {
4781
326
            return make_contiguous_buffer(
4782
326
                ranges::subrange{range.begin(), result});
4783
326
        }
4784
326
    }();
4785
326
    using src_type = decltype(src);
4786
4787
326
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
326
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
326
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
326
                                     "Cannot read a string_view from "
4796
326
                                     "this source range (would require "
4797
326
                                     "transcoding)");
4798
326
    }
4799
326
    else {
4800
326
        const auto view = src.view();
4801
326
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
326
        if (!validate_unicode(value)) {
4804
118
            return unexpected_scan_error(
4805
118
                scan_error::invalid_scanned_value,
4806
118
                "Invalid encoding in scanned string_view");
4807
118
        }
4808
4809
208
        return SCN_MOVE(result);
4810
326
    }
4811
326
}
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Line
Count
Source
4772
194
{
4773
194
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
194
    auto src = [&]() {
4776
194
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
194
            return make_contiguous_buffer(
4778
194
                ranges::subrange{range.begin().base(), result.base()});
4779
194
        }
4780
194
        else {
4781
194
            return make_contiguous_buffer(
4782
194
                ranges::subrange{range.begin(), result});
4783
194
        }
4784
194
    }();
4785
194
    using src_type = decltype(src);
4786
4787
194
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
194
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
194
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
194
                                     "Cannot read a string_view from "
4796
194
                                     "this source range (would require "
4797
194
                                     "transcoding)");
4798
194
    }
4799
194
    else {
4800
194
        const auto view = src.view();
4801
194
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
194
        if (!validate_unicode(value)) {
4804
52
            return unexpected_scan_error(
4805
52
                scan_error::invalid_scanned_value,
4806
52
                "Invalid encoding in scanned string_view");
4807
52
        }
4808
4809
142
        return SCN_MOVE(result);
4810
194
    }
4811
194
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4772
266k
{
4773
266k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
266k
    auto src = [&]() {
4776
266k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
266k
            return make_contiguous_buffer(
4778
266k
                ranges::subrange{range.begin().base(), result.base()});
4779
266k
        }
4780
266k
        else {
4781
266k
            return make_contiguous_buffer(
4782
266k
                ranges::subrange{range.begin(), result});
4783
266k
        }
4784
266k
    }();
4785
266k
    using src_type = decltype(src);
4786
4787
266k
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
266k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
266k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
266k
                                     "Cannot read a string_view from "
4796
266k
                                     "this source range (would require "
4797
266k
                                     "transcoding)");
4798
266k
    }
4799
266k
    else {
4800
266k
        const auto view = src.view();
4801
266k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
266k
        if (!validate_unicode(value)) {
4804
8.11k
            return unexpected_scan_error(
4805
8.11k
                scan_error::invalid_scanned_value,
4806
8.11k
                "Invalid encoding in scanned string_view");
4807
8.11k
        }
4808
4809
258k
        return SCN_MOVE(result);
4810
266k
    }
4811
266k
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4772
2.99k
{
4773
2.99k
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
2.99k
    auto src = [&]() {
4776
2.99k
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
2.99k
            return make_contiguous_buffer(
4778
2.99k
                ranges::subrange{range.begin().base(), result.base()});
4779
2.99k
        }
4780
2.99k
        else {
4781
2.99k
            return make_contiguous_buffer(
4782
2.99k
                ranges::subrange{range.begin(), result});
4783
2.99k
        }
4784
2.99k
    }();
4785
2.99k
    using src_type = decltype(src);
4786
4787
2.99k
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
2.99k
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
2.99k
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
2.99k
                                     "Cannot read a string_view from "
4796
2.99k
                                     "this source range (would require "
4797
2.99k
                                     "transcoding)");
4798
2.99k
    }
4799
2.99k
    else {
4800
2.99k
        const auto view = src.view();
4801
2.99k
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
2.99k
        if (!validate_unicode(value)) {
4804
154
            return unexpected_scan_error(
4805
154
                scan_error::invalid_scanned_value,
4806
154
                "Invalid encoding in scanned string_view");
4807
154
        }
4808
4809
2.83k
        return SCN_MOVE(result);
4810
2.99k
    }
4811
2.99k
}
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKcS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEcEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_cEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_OT0_RNSJ_17basic_string_viewIT1_NSJ_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEERNS1_27counted_width_iterator_impl22counted_width_iteratorISB_SC_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESM_OT0_RNSK_17basic_string_viewIT1_NSK_11char_traitsISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEESA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_OT0_RNSE_17basic_string_viewIT1_NSE_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEERSA_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_OT0_RNSF_17basic_string_viewIT1_NSF_11char_traitsISQ_EEEE
_ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_OT0_RNSG_17basic_string_viewIT1_NSG_11char_traitsISR_EEEE
Line
Count
Source
4772
136
{
4773
136
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
136
    auto src = [&]() {
4776
136
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
136
            return make_contiguous_buffer(
4778
136
                ranges::subrange{range.begin().base(), result.base()});
4779
136
        }
4780
136
        else {
4781
136
            return make_contiguous_buffer(
4782
136
                ranges::subrange{range.begin(), result});
4783
136
        }
4784
136
    }();
4785
136
    using src_type = decltype(src);
4786
4787
136
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
136
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
136
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
136
                                     "Cannot read a string_view from "
4796
136
                                     "this source range (would require "
4797
136
                                     "transcoding)");
4798
136
    }
4799
136
    else {
4800
136
        const auto view = src.view();
4801
136
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
136
        if (!validate_unicode(value)) {
4804
62
            return unexpected_scan_error(
4805
62
                scan_error::invalid_scanned_value,
4806
62
                "Invalid encoding in scanned string_view");
4807
62
        }
4808
4809
74
        return SCN_MOVE(result);
4810
136
    }
4811
136
}
Unexecuted instantiation: _ZN3scn2v34impl21read_string_view_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEERNS1_27counted_width_iterator_impl22counted_width_iteratorIS9_S9_EEwEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_OT0_RNSH_17basic_string_viewIT1_NSH_11char_traitsISS_EEEE
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EES8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESD_OT0_RNSB_17basic_string_viewIT1_NSB_11char_traitsISM_EEEE
Line
Count
Source
4772
3.61M
{
4773
3.61M
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
3.61M
    auto src = [&]() {
4776
3.61M
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
3.61M
            return make_contiguous_buffer(
4778
3.61M
                ranges::subrange{range.begin().base(), result.base()});
4779
3.61M
        }
4780
3.61M
        else {
4781
3.61M
            return make_contiguous_buffer(
4782
3.61M
                ranges::subrange{range.begin(), result});
4783
3.61M
        }
4784
3.61M
    }();
4785
3.61M
    using src_type = decltype(src);
4786
4787
3.61M
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
3.61M
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
3.61M
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
3.61M
                                     "Cannot read a string_view from "
4796
3.61M
                                     "this source range (would require "
4797
3.61M
                                     "transcoding)");
4798
3.61M
    }
4799
3.61M
    else {
4800
3.61M
        const auto view = src.view();
4801
3.61M
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
3.61M
        if (!validate_unicode(value)) {
4804
18.0k
            return unexpected_scan_error(
4805
18.0k
                scan_error::invalid_scanned_value,
4806
18.0k
                "Invalid encoding in scanned string_view");
4807
18.0k
        }
4808
4809
3.59M
        return SCN_MOVE(result);
4810
3.61M
    }
4811
3.61M
}
_ZN3scn2v34impl21read_string_view_implINS0_6ranges6detail9subrange_8subrangeIPKwS8_EERS8_wEENS0_13scan_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_OT0_RNSC_17basic_string_viewIT1_NSC_11char_traitsISN_EEEE
Line
Count
Source
4772
486
{
4773
486
    static_assert(ranges::forward_iterator<detail::remove_cvref_t<Iterator>>);
4774
4775
486
    auto src = [&]() {
4776
486
        if constexpr (detail::is_specialization_of_v<Range, take_width_view>) {
4777
486
            return make_contiguous_buffer(
4778
486
                ranges::subrange{range.begin().base(), result.base()});
4779
486
        }
4780
486
        else {
4781
486
            return make_contiguous_buffer(
4782
486
                ranges::subrange{range.begin(), result});
4783
486
        }
4784
486
    }();
4785
486
    using src_type = decltype(src);
4786
4787
486
    if (src.stores_allocated_string()) {
4788
0
        return unexpected_scan_error(
4789
0
            scan_error::invalid_scanned_value,
4790
0
            "Cannot read a string_view from this source range (not "
4791
0
            "contiguous)");
4792
0
    }
4793
486
    if constexpr (!std::is_same_v<typename src_type::char_type, ValueCharT>) {
4794
486
        return unexpected_scan_error(scan_error::invalid_scanned_value,
4795
486
                                     "Cannot read a string_view from "
4796
486
                                     "this source range (would require "
4797
486
                                     "transcoding)");
4798
486
    }
4799
486
    else {
4800
486
        const auto view = src.view();
4801
486
        value = std::basic_string_view<ValueCharT>(view.data(), view.size());
4802
4803
486
        if (!validate_unicode(value)) {
4804
118
            return unexpected_scan_error(
4805
118
                scan_error::invalid_scanned_value,
4806
118
                "Invalid encoding in scanned string_view");
4807
118
        }
4808
4809
368
        return SCN_MOVE(result);
4810
486
    }
4811
486
}
4812
4813
template <typename SourceCharT>
4814
class word_reader_impl {
4815
public:
4816
    template <typename Range, typename ValueCharT>
4817
    auto read(Range range, std::basic_string<ValueCharT>& value)
4818
        -> scan_expected<ranges::const_iterator_t<Range>>
4819
7.79M
    {
4820
7.79M
        return read_string_impl(range, read_until_classic_space(range), value);
4821
7.79M
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
Line
Count
Source
4819
301k
    {
4820
301k
        return read_string_impl(range, read_until_classic_space(range), value);
4821
301k
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
242
    {
4820
242
        return read_string_impl(range, read_until_classic_space(range), value);
4821
242
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
266k
    {
4820
266k
        return read_string_impl(range, read_until_classic_space(range), value);
4821
266k
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
242
    {
4820
242
        return read_string_impl(range, read_until_classic_space(range), value);
4821
242
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
908
    {
4820
908
        return read_string_impl(range, read_until_classic_space(range), value);
4821
908
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
98
    {
4820
98
        return read_string_impl(range, read_until_classic_space(range), value);
4821
98
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
10.5k
    {
4820
10.5k
        return read_string_impl(range, read_until_classic_space(range), value);
4821
10.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
Line
Count
Source
4819
3.60M
    {
4820
3.60M
        return read_string_impl(range, read_until_classic_space(range), value);
4821
3.60M
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4819
98
    {
4820
98
        return read_string_impl(range, read_until_classic_space(range), value);
4821
98
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Line
Count
Source
4819
3.61M
    {
4820
3.61M
        return read_string_impl(range, read_until_classic_space(range), value);
4821
3.61M
    }
4822
4823
    template <typename Range, typename ValueCharT>
4824
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4825
        -> scan_expected<ranges::const_iterator_t<Range>>
4826
3.87M
    {
4827
3.87M
        return read_string_view_impl(range, read_until_classic_space(range),
4828
3.87M
                                     value);
4829
3.87M
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4826
242
    {
4827
242
        return read_string_view_impl(range, read_until_classic_space(range),
4828
242
                                     value);
4829
242
    }
_ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4826
266k
    {
4827
266k
        return read_string_view_impl(range, read_until_classic_space(range),
4828
266k
                                     value);
4829
266k
    }
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl16word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4826
98
    {
4827
98
        return read_string_view_impl(range, read_until_classic_space(range),
4828
98
                                     value);
4829
98
    }
_ZN3scn2v34impl16word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Line
Count
Source
4826
3.61M
    {
4827
3.61M
        return read_string_view_impl(range, read_until_classic_space(range),
4828
3.61M
                                     value);
4829
3.61M
    }
4830
};
4831
4832
template <typename SourceCharT>
4833
class custom_word_reader_impl {
4834
public:
4835
    template <typename Range, typename ValueCharT>
4836
    auto read(Range range,
4837
              const detail::format_specs& specs,
4838
              std::basic_string<ValueCharT>& value)
4839
        -> scan_expected<ranges::const_iterator_t<Range>>
4840
284
    {
4841
284
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
220
            return read_string_impl(
4843
220
                range,
4844
220
                read_until_code_unit(
4845
220
                    range,
4846
220
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
3.96k
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlcE_clEc
Line
Count
Source
4847
782
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlcE_clEc
Line
Count
Source
4847
442
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlcE_clEc
Line
Count
Source
4847
782
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlcE_clEc
Line
Count
Source
4847
442
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlwE_clEw
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlwE_clEw
Line
Count
Source
4847
350
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlwE_clEw
Line
Count
Source
4847
410
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEEENKUlwE_clEw
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEEENKUlwE_clEw
Line
Count
Source
4847
350
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEEENKUlwE_clEw
Line
Count
Source
4847
410
                        SourceCharT ch) { return ch == until; }),
4848
220
                value);
4849
220
        }
4850
64
        return read_string_impl(
4851
64
            range,
4852
64
            read_until_code_units(
4853
64
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
64
            value);
4855
284
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
52
    {
4841
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
34
            return read_string_impl(
4843
34
                range,
4844
34
                read_until_code_unit(
4845
34
                    range,
4846
34
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
34
                        SourceCharT ch) { return ch == until; }),
4848
34
                value);
4849
34
        }
4850
18
        return read_string_impl(
4851
18
            range,
4852
18
            read_until_code_units(
4853
18
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
18
            value);
4855
52
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
44
    {
4841
44
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
30
            return read_string_impl(
4843
30
                range,
4844
30
                read_until_code_unit(
4845
30
                    range,
4846
30
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
30
                        SourceCharT ch) { return ch == until; }),
4848
30
                value);
4849
30
        }
4850
14
        return read_string_impl(
4851
14
            range,
4852
14
            read_until_code_units(
4853
14
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
14
            value);
4855
44
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
52
    {
4841
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
34
            return read_string_impl(
4843
34
                range,
4844
34
                read_until_code_unit(
4845
34
                    range,
4846
34
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
34
                        SourceCharT ch) { return ch == until; }),
4848
34
                value);
4849
34
        }
4850
18
        return read_string_impl(
4851
18
            range,
4852
18
            read_until_code_units(
4853
18
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
18
            value);
4855
52
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
44
    {
4841
44
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
30
            return read_string_impl(
4843
30
                range,
4844
30
                read_until_code_unit(
4845
30
                    range,
4846
30
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
30
                        SourceCharT ch) { return ch == until; }),
4848
30
                value);
4849
30
        }
4850
14
        return read_string_impl(
4851
14
            range,
4852
14
            read_until_code_units(
4853
14
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
14
            value);
4855
44
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
20
    {
4841
20
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
20
            return read_string_impl(
4843
20
                range,
4844
20
                read_until_code_unit(
4845
20
                    range,
4846
20
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
20
                        SourceCharT ch) { return ch == until; }),
4848
20
                value);
4849
20
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
20
    }
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
26
    {
4841
26
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
26
            return read_string_impl(
4843
26
                range,
4844
26
                read_until_code_unit(
4845
26
                    range,
4846
26
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
26
                        SourceCharT ch) { return ch == until; }),
4848
26
                value);
4849
26
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
26
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
4840
20
    {
4841
20
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
20
            return read_string_impl(
4843
20
                range,
4844
20
                read_until_code_unit(
4845
20
                    range,
4846
20
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
20
                        SourceCharT ch) { return ch == until; }),
4848
20
                value);
4849
20
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
20
    }
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
4840
26
    {
4841
26
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4842
26
            return read_string_impl(
4843
26
                range,
4844
26
                read_until_code_unit(
4845
26
                    range,
4846
26
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4847
26
                        SourceCharT ch) { return ch == until; }),
4848
26
                value);
4849
26
        }
4850
0
        return read_string_impl(
4851
0
            range,
4852
0
            read_until_code_units(
4853
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4854
0
            value);
4855
26
    }
4856
4857
    template <typename Range, typename ValueCharT>
4858
    auto read(Range range,
4859
              const detail::format_specs& specs,
4860
              std::basic_string_view<ValueCharT>& value)
4861
        -> scan_expected<ranges::const_iterator_t<Range>>
4862
142
    {
4863
142
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
110
            return read_string_view_impl(
4865
110
                range,
4866
110
                read_until_code_unit(
4867
110
                    range,
4868
110
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
1.98k
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlcE_clEc
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlcE_clEc
Line
Count
Source
4869
782
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlcE_clEc
Line
Count
Source
4869
442
                        SourceCharT ch) { return ch == until; }),
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEEENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEEENKUlwE_clEw
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEEENKUlwE_clEw
Line
Count
Source
4869
350
                        SourceCharT ch) { return ch == until; }),
_ZZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEEENKUlwE_clEw
Line
Count
Source
4869
410
                        SourceCharT ch) { return ch == until; }),
4870
110
                value);
4871
110
        }
4872
32
        return read_string_view_impl(
4873
32
            range,
4874
32
            read_until_code_units(
4875
32
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
32
            value);
4877
142
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4862
52
    {
4863
52
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
34
            return read_string_view_impl(
4865
34
                range,
4866
34
                read_until_code_unit(
4867
34
                    range,
4868
34
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
34
                        SourceCharT ch) { return ch == until; }),
4870
34
                value);
4871
34
        }
4872
18
        return read_string_view_impl(
4873
18
            range,
4874
18
            read_until_code_units(
4875
18
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
18
            value);
4877
52
    }
_ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4862
44
    {
4863
44
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
30
            return read_string_view_impl(
4865
30
                range,
4866
30
                read_until_code_unit(
4867
30
                    range,
4868
30
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
30
                        SourceCharT ch) { return ch == until; }),
4870
30
                value);
4871
30
        }
4872
14
        return read_string_view_impl(
4873
14
            range,
4874
14
            read_until_code_units(
4875
14
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
14
            value);
4877
44
    }
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
4862
20
    {
4863
20
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
20
            return read_string_view_impl(
4865
20
                range,
4866
20
                read_until_code_unit(
4867
20
                    range,
4868
20
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
20
                        SourceCharT ch) { return ch == until; }),
4870
20
                value);
4871
20
        }
4872
0
        return read_string_view_impl(
4873
0
            range,
4874
0
            read_until_code_units(
4875
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
0
            value);
4877
20
    }
_ZN3scn2v34impl23custom_word_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
4862
26
    {
4863
26
        if (specs.fill.size() <= sizeof(SourceCharT)) {
4864
26
            return read_string_view_impl(
4865
26
                range,
4866
26
                read_until_code_unit(
4867
26
                    range,
4868
26
                    [until = specs.fill.template get_code_unit<SourceCharT>()](
4869
26
                        SourceCharT ch) { return ch == until; }),
4870
26
                value);
4871
26
        }
4872
0
        return read_string_view_impl(
4873
0
            range,
4874
0
            read_until_code_units(
4875
0
                range, specs.fill.template get_code_units<SourceCharT>()),
4876
0
            value);
4877
26
    }
4878
};
4879
4880
#if !SCN_DISABLE_REGEX
4881
template <typename SourceCharT>
4882
class regex_string_reader_impl {
4883
public:
4884
    template <typename Range, typename ValueCharT>
4885
    auto read(Range range,
4886
              std::basic_string_view<SourceCharT> pattern,
4887
              detail::regex_flags flags,
4888
              std::basic_string<ValueCharT>& value)
4889
        -> scan_expected<ranges::const_iterator_t<Range>>
4890
10.2k
    {
4891
10.2k
        SCN_TRY(it, impl(range, pattern, flags));
4892
1.68k
        return read_string_impl(range, it, value);
4893
10.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
170
    {
4891
170
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
170
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
3.17k
    {
4891
3.17k
        SCN_TRY(it, impl(range, pattern, flags));
4892
582
        return read_string_impl(range, it, value);
4893
3.17k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
170
    {
4891
170
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
170
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
3.17k
    {
4891
3.17k
        SCN_TRY(it, impl(range, pattern, flags));
4892
582
        return read_string_impl(range, it, value);
4893
3.17k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
6
    {
4891
6
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
6
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
1.79k
    {
4891
1.79k
        SCN_TRY(it, impl(range, pattern, flags));
4892
258
        return read_string_impl(range, it, value);
4893
1.79k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSI_12basic_stringIT0_NSR_ISW_EENSI_9allocatorISW_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSG_12basic_stringIT0_NSP_ISU_EENSG_9allocatorISU_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSF_12basic_stringIT0_NSO_ISU_EENSF_9allocatorISU_EEEE
Line
Count
Source
4890
6
    {
4891
6
        SCN_TRY(it, impl(range, pattern, flags));
4892
0
        return read_string_impl(range, it, value);
4893
6
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSD_12basic_stringIT0_NSM_ISS_EENSD_9allocatorISS_EEEE
Line
Count
Source
4890
1.79k
    {
4891
1.79k
        SCN_TRY(it, impl(range, pattern, flags));
4892
258
        return read_string_impl(range, it, value);
4893
1.79k
    }
4894
4895
    template <typename Range, typename ValueCharT>
4896
    auto read(Range range,
4897
              std::basic_string_view<SourceCharT> pattern,
4898
              detail::regex_flags flags,
4899
              std::basic_string_view<ValueCharT>& value)
4900
        -> scan_expected<ranges::const_iterator_t<Range>>
4901
5.14k
    {
4902
5.14k
        SCN_TRY(it, impl(range, pattern, flags));
4903
840
        return read_string_view_impl(range, it, value);
4904
5.14k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
4901
170
    {
4902
170
        SCN_TRY(it, impl(range, pattern, flags));
4903
0
        return read_string_view_impl(range, it, value);
4904
170
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
4901
3.17k
    {
4902
3.17k
        SCN_TRY(it, impl(range, pattern, flags));
4903
582
        return read_string_view_impl(range, it, value);
4904
3.17k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsERNSQ_IT0_NSR_ISV_EEEE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsERNSO_IT0_NSP_IST_EEEE
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsERNSN_IT0_NSO_IST_EEEE
Line
Count
Source
4901
6
    {
4902
6
        SCN_TRY(it, impl(range, pattern, flags));
4903
0
        return read_string_view_impl(range, it, value);
4904
6
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsERNSL_IT0_NSM_ISR_EEEE
Line
Count
Source
4901
1.79k
    {
4902
1.79k
        SCN_TRY(it, impl(range, pattern, flags));
4903
258
        return read_string_view_impl(range, it, value);
4904
1.79k
    }
4905
4906
private:
4907
    template <typename Range>
4908
    auto impl(Range range,
4909
              std::basic_string_view<SourceCharT> pattern,
4910
              detail::regex_flags flags)
4911
        -> scan_expected<ranges::const_iterator_t<Range>>
4912
15.4k
    {
4913
15.4k
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
15.4k
                      !std::is_same_v<SourceCharT, char>) {
4915
15.4k
            return unexpected_scan_error(
4916
15.4k
                scan_error::invalid_scanned_value,
4917
15.4k
                "Regex backend doesn't support wide strings as input");
4918
15.4k
        }
4919
15.4k
        else {
4920
15.4k
            if (!is_entire_source_contiguous(range)) {
4921
528
                return unexpected_scan_error(
4922
528
                    scan_error::invalid_scanned_value,
4923
528
                    "Cannot use regex with a non-contiguous source "
4924
528
                    "range");
4925
528
            }
4926
4927
14.9k
            auto input = get_as_contiguous(range);
4928
14.9k
            SCN_TRY(it,
4929
2.52k
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
2.52k
            return ranges::next(range.begin(),
4931
2.52k
                                ranges::distance(input.begin(), it));
4932
14.9k
        }
4933
15.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIcNSI_11char_traitsIcEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIcNSG_11char_traitsIcEEEENS9_11regex_flagsE
_ZN3scn2v34impl24regex_string_reader_implIcE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIcNSF_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
510
    {
4913
510
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
510
                      !std::is_same_v<SourceCharT, char>) {
4915
510
            return unexpected_scan_error(
4916
510
                scan_error::invalid_scanned_value,
4917
510
                "Regex backend doesn't support wide strings as input");
4918
510
        }
4919
510
        else {
4920
510
            if (!is_entire_source_contiguous(range)) {
4921
510
                return unexpected_scan_error(
4922
510
                    scan_error::invalid_scanned_value,
4923
510
                    "Cannot use regex with a non-contiguous source "
4924
510
                    "range");
4925
510
            }
4926
4927
0
            auto input = get_as_contiguous(range);
4928
0
            SCN_TRY(it,
4929
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
0
            return ranges::next(range.begin(),
4931
0
                                ranges::distance(input.begin(), it));
4932
0
        }
4933
510
    }
_ZN3scn2v34impl24regex_string_reader_implIcE4implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIcNSD_11char_traitsIcEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
9.51k
    {
4913
9.51k
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
9.51k
                      !std::is_same_v<SourceCharT, char>) {
4915
9.51k
            return unexpected_scan_error(
4916
9.51k
                scan_error::invalid_scanned_value,
4917
9.51k
                "Regex backend doesn't support wide strings as input");
4918
9.51k
        }
4919
9.51k
        else {
4920
9.51k
            if (!is_entire_source_contiguous(range)) {
4921
0
                return unexpected_scan_error(
4922
0
                    scan_error::invalid_scanned_value,
4923
0
                    "Cannot use regex with a non-contiguous source "
4924
0
                    "range");
4925
0
            }
4926
4927
9.51k
            auto input = get_as_contiguous(range);
4928
9.51k
            SCN_TRY(it,
4929
1.74k
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
1.74k
            return ranges::next(range.begin(),
4931
1.74k
                                ranges::distance(input.begin(), it));
4932
9.51k
        }
4933
9.51k
    }
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSI_17basic_string_viewIwNSI_11char_traitsIwEEEENSA_11regex_flagsE
Unexecuted instantiation: _ZN3scn2v34impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NSG_17basic_string_viewIwNSG_11char_traitsIwEEEENS9_11regex_flagsE
_ZN3scn2v34impl24regex_string_reader_implIwE4implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NSF_17basic_string_viewIwNSF_11char_traitsIwEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
18
    {
4913
18
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
18
                      !std::is_same_v<SourceCharT, char>) {
4915
18
            return unexpected_scan_error(
4916
18
                scan_error::invalid_scanned_value,
4917
18
                "Regex backend doesn't support wide strings as input");
4918
18
        }
4919
18
        else {
4920
18
            if (!is_entire_source_contiguous(range)) {
4921
18
                return unexpected_scan_error(
4922
18
                    scan_error::invalid_scanned_value,
4923
18
                    "Cannot use regex with a non-contiguous source "
4924
18
                    "range");
4925
18
            }
4926
4927
0
            auto input = get_as_contiguous(range);
4928
0
            SCN_TRY(it,
4929
0
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
0
            return ranges::next(range.begin(),
4931
0
                                ranges::distance(input.begin(), it));
4932
0
        }
4933
18
    }
_ZN3scn2v34impl24regex_string_reader_implIwE4implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NSD_17basic_string_viewIwNSD_11char_traitsIwEEEENS0_6detail11regex_flagsE
Line
Count
Source
4912
5.38k
    {
4913
5.38k
        if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
4914
5.38k
                      !std::is_same_v<SourceCharT, char>) {
4915
5.38k
            return unexpected_scan_error(
4916
5.38k
                scan_error::invalid_scanned_value,
4917
5.38k
                "Regex backend doesn't support wide strings as input");
4918
5.38k
        }
4919
5.38k
        else {
4920
5.38k
            if (!is_entire_source_contiguous(range)) {
4921
0
                return unexpected_scan_error(
4922
0
                    scan_error::invalid_scanned_value,
4923
0
                    "Cannot use regex with a non-contiguous source "
4924
0
                    "range");
4925
0
            }
4926
4927
5.38k
            auto input = get_as_contiguous(range);
4928
5.38k
            SCN_TRY(it,
4929
774
                    read_regex_string_impl<SourceCharT>(pattern, flags, input));
4930
774
            return ranges::next(range.begin(),
4931
774
                                ranges::distance(input.begin(), it));
4932
5.38k
        }
4933
5.38k
    }
4934
};
4935
#endif
4936
4937
template <typename SourceCharT>
4938
class character_reader_impl {
4939
public:
4940
    // Note: no localized version,
4941
    // since it's equivalent in behavior
4942
4943
    template <typename Range, typename ValueCharT>
4944
    auto read(Range range, std::basic_string<ValueCharT>& value)
4945
        -> scan_expected<ranges::const_iterator_t<Range>>
4946
100
    {
4947
100
        return read_impl(
4948
100
            range,
4949
100
            [&](const auto& rng) {
4950
100
                return read_string_impl(rng, read_all(rng), value);
4951
100
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
32
            [&](const auto& rng) {
4950
32
                return read_string_impl(rng, read_all(rng), value);
4951
32
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
32
            [&](const auto& rng) {
4950
32
                return read_string_impl(rng, read_all(rng), value);
4951
32
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
18
            [&](const auto& rng) {
4950
18
                return read_string_impl(rng, read_all(rng), value);
4951
18
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEEENKUlRKSK_E_clISG_EEDaSZ_
_ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEEENKUlRKSH_E_clISD_EEDaSW_
Line
Count
Source
4949
18
            [&](const auto& rng) {
4950
18
                return read_string_impl(rng, read_all(rng), value);
4951
18
            },
4952
100
            detail::priority_tag<1>{});
4953
100
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
32
    {
4947
32
        return read_impl(
4948
32
            range,
4949
32
            [&](const auto& rng) {
4950
32
                return read_string_impl(rng, read_all(rng), value);
4951
32
            },
4952
32
            detail::priority_tag<1>{});
4953
32
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
32
    {
4947
32
        return read_impl(
4948
32
            range,
4949
32
            [&](const auto& rng) {
4950
32
                return read_string_impl(rng, read_all(rng), value);
4951
32
            },
4952
32
            detail::priority_tag<1>{});
4953
32
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
18
    {
4947
18
        return read_impl(
4948
18
            range,
4949
18
            [&](const auto& rng) {
4950
18
                return read_string_impl(rng, read_all(rng), value);
4951
18
            },
4952
18
            detail::priority_tag<1>{});
4953
18
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_12basic_stringIT0_NSI_11char_traitsISR_EENSI_9allocatorISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEE
_ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_12basic_stringIT0_NSF_11char_traitsISO_EENSF_9allocatorISO_EEEE
Line
Count
Source
4946
18
    {
4947
18
        return read_impl(
4948
18
            range,
4949
18
            [&](const auto& rng) {
4950
18
                return read_string_impl(rng, read_all(rng), value);
4951
18
            },
4952
18
            detail::priority_tag<1>{});
4953
18
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_12basic_stringIT0_NSD_11char_traitsISM_EENSD_9allocatorISM_EEEE
4954
4955
    template <typename Range, typename ValueCharT>
4956
    auto read(Range range, std::basic_string_view<ValueCharT>& value)
4957
        -> scan_expected<ranges::const_iterator_t<Range>>
4958
50
    {
4959
50
        return read_impl(
4960
50
            range,
4961
50
            [&](const auto& rng) {
4962
50
                return read_string_view_impl(rng, read_all(rng), value);
4963
50
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
4961
32
            [&](const auto& rng) {
4962
32
                return read_string_view_impl(rng, read_all(rng), value);
4963
32
            },
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Unexecuted instantiation: _ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEEENKUlRKSK_E_clISG_EEDaSX_
_ZZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEEENKUlRKSH_E_clISD_EEDaSU_
Line
Count
Source
4961
18
            [&](const auto& rng) {
4962
18
                return read_string_view_impl(rng, read_all(rng), value);
4963
18
            },
4964
50
            detail::priority_tag<1>{});
4965
50
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4958
32
    {
4959
32
        return read_impl(
4960
32
            range,
4961
32
            [&](const auto& rng) {
4962
32
                return read_string_view_impl(rng, read_all(rng), value);
4963
32
            },
4964
32
            detail::priority_tag<1>{});
4965
32
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RNSI_17basic_string_viewIT0_NSI_11char_traitsISR_EEEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEE
_ZN3scn2v34impl21character_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RNSF_17basic_string_viewIT0_NSF_11char_traitsISO_EEEE
Line
Count
Source
4958
18
    {
4959
18
        return read_impl(
4960
18
            range,
4961
18
            [&](const auto& rng) {
4962
18
                return read_string_view_impl(rng, read_all(rng), value);
4963
18
            },
4964
18
            detail::priority_tag<1>{});
4965
18
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RNSD_17basic_string_viewIT0_NSD_11char_traitsISM_EEEE
4966
4967
private:
4968
    template <typename View, typename ReadCb>
4969
    static auto read_impl(const take_width_view<View>& range,
4970
                          ReadCb&& read_cb,
4971
                          detail::priority_tag<1>)
4972
        -> scan_expected<ranges::const_iterator_t<take_width_view<View>&>>
4973
150
    {
4974
150
        return read_cb(range);
4975
150
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
32
    {
4974
32
        return read_cb(range);
4975
32
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
32
    {
4974
32
        return read_cb(range);
4975
32
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
32
    {
4974
32
        return read_cb(range);
4975
32
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
18
    {
4974
18
        return read_cb(range);
4975
18
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_12basic_stringIT0_NSJ_11char_traitsISS_EENSJ_9allocatorISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS12_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_12basic_stringIT0_NSG_11char_traitsISP_EENSG_9allocatorISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSZ_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
18
    {
4974
18
        return read_cb(range);
4975
18
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readINS1_15take_width_viewISE_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESL_RNSJ_17basic_string_viewIT0_NSJ_11char_traitsISS_EEEEEUlRKSL_E_EENSI_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSK_IRNSG_ISL_EEE4typeEEEEEEERKS10_OSS_NS9_12priority_tagILm1EEE
_ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readINS1_15take_width_viewISB_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RNSG_17basic_string_viewIT0_NSG_11char_traitsISP_EEEEEUlRKSI_E_EENSF_IDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSH_IRNSD_ISI_EEE4typeEEEEEEERKSX_OSP_NS0_6detail12priority_tagILm1EEE
Line
Count
Source
4973
18
    {
4974
18
        return read_cb(range);
4975
18
    }
4976
4977
    template <typename Range, typename ReadCb>
4978
    static auto read_impl(Range, ReadCb&&, detail::priority_tag<0>)
4979
        -> scan_expected<ranges::const_iterator_t<Range>>
4980
0
    {
4981
0
        return unexpected_scan_error(
4982
0
            scan_error::invalid_scanned_value,
4983
0
            "character_reader requires take_width_view");
4984
0
    }
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_12basic_stringIT0_NSH_11char_traitsISQ_EENSH_9allocatorISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_12basic_stringIT0_NSE_11char_traitsISN_EENSE_9allocatorISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_cEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEZNS3_4readISE_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_RNSH_17basic_string_viewIT0_NSH_11char_traitsISQ_EEEEEUlRKSJ_E_EESO_SJ_OSQ_NS9_12priority_tagILm0EEE
Unexecuted instantiation: _ZN3scn2v34impl21character_reader_implIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEZNS3_4readISB_wEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_RNSE_17basic_string_viewIT0_NSE_11char_traitsISN_EEEEEUlRKSG_E_EESL_SG_OSN_NS0_6detail12priority_tagILm0EEE
4985
};
4986
4987
struct nonascii_specs_handler {
4988
    void on_charset_single(char32_t cp)
4989
430k
    {
4990
430k
        on_charset_range(cp, cp + 1);
4991
430k
    }
4992
4993
    void on_charset_range(char32_t begin, char32_t end)
4994
434k
    {
4995
434k
        if (end <= 127) {
4996
239k
            return;
4997
239k
        }
4998
4999
34.6M
        for (auto& elem : extra_ranges) {
5000
            // TODO: check for overlap
5001
34.6M
            if (elem.first == end) {
5002
810
                elem.first = begin;
5003
810
                return;
5004
810
            }
5005
5006
34.6M
            if (elem.second == begin) {
5007
1.33k
                elem.second = end;
5008
1.33k
                return;
5009
1.33k
            }
5010
34.6M
        }
5011
5012
192k
        extra_ranges.push_back(std::make_pair(begin, end));
5013
192k
    }
5014
5015
    constexpr void on_charset_inverted() const
5016
408
    {
5017
        // no-op
5018
408
    }
5019
5020
    constexpr void on_error(const char* msg)
5021
0
    {
5022
0
        on_error(scan_error{scan_error::invalid_format_string, msg});
5023
0
    }
5024
    constexpr void on_error(scan_error e)
5025
0
    {
5026
0
        SCN_UNLIKELY_ATTR
5027
0
        err = e;
5028
0
    }
5029
5030
    constexpr explicit operator bool() const
5031
440k
    {
5032
440k
        return static_cast<bool>(err);
5033
440k
    }
5034
5035
    std::vector<std::pair<char32_t, char32_t>> extra_ranges;
5036
    scan_error err;
5037
};
5038
5039
template <typename SourceCharT>
5040
class character_set_reader_impl {
5041
public:
5042
    template <typename Range, typename ValueCharT>
5043
    auto read(Range range,
5044
              const detail::format_specs& specs,
5045
              std::basic_string<ValueCharT>& value)
5046
        -> scan_expected<ranges::const_iterator_t<Range>>
5047
34.1k
    {
5048
34.1k
        auto it = read_source_impl(range, {specs});
5049
34.1k
        if (SCN_UNLIKELY(!it)) {
5050
28.4k
            return unexpected(it.error());
5051
28.4k
        }
5052
5053
5.66k
        return read_string_impl(range, *it, value);
5054
34.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Line
Count
Source
5047
6.46k
    {
5048
6.46k
        auto it = read_source_impl(range, {specs});
5049
6.46k
        if (SCN_UNLIKELY(!it)) {
5050
4.62k
            return unexpected(it.error());
5051
4.62k
        }
5052
5053
1.83k
        return read_string_impl(range, *it, value);
5054
6.46k
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5047
206
    {
5048
206
        auto it = read_source_impl(range, {specs});
5049
206
        if (SCN_UNLIKELY(!it)) {
5050
12
            return unexpected(it.error());
5051
12
        }
5052
5053
194
        return read_string_impl(range, *it, value);
5054
206
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
7.35k
    {
5048
7.35k
        auto it = read_source_impl(range, {specs});
5049
7.35k
        if (SCN_UNLIKELY(!it)) {
5050
4.94k
            return unexpected(it.error());
5051
4.94k
        }
5052
5053
2.41k
        return read_string_impl(range, *it, value);
5054
7.35k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
Line
Count
Source
5047
206
    {
5048
206
        auto it = read_source_impl(range, {specs});
5049
206
        if (SCN_UNLIKELY(!it)) {
5050
12
            return unexpected(it.error());
5051
12
        }
5052
5053
194
        return read_string_impl(range, *it, value);
5054
206
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
894
    {
5048
894
        auto it = read_source_impl(range, {specs});
5049
894
        if (SCN_UNLIKELY(!it)) {
5050
322
            return unexpected(it.error());
5051
322
        }
5052
5053
572
        return read_string_impl(range, *it, value);
5054
894
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
126
    {
5048
126
        auto it = read_source_impl(range, {specs});
5049
126
        if (SCN_UNLIKELY(!it)) {
5050
28
            return unexpected(it.error());
5051
28
        }
5052
5053
98
        return read_string_impl(range, *it, value);
5054
126
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_12basic_stringIT0_NSI_11char_traitsISU_EENSI_9allocatorISU_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_12basic_stringIT0_NSG_11char_traitsISS_EENSG_9allocatorISS_EEEE
Line
Count
Source
5047
9.37k
    {
5048
9.37k
        auto it = read_source_impl(range, {specs});
5049
9.37k
        if (SCN_UNLIKELY(!it)) {
5050
9.24k
            return unexpected(it.error());
5051
9.24k
        }
5052
5053
130
        return read_string_impl(range, *it, value);
5054
9.37k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_12basic_stringIT0_NSF_11char_traitsISS_EENSF_9allocatorISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_12basic_stringIT0_NSD_11char_traitsISQ_EENSD_9allocatorISQ_EEEE
Line
Count
Source
5047
9.50k
    {
5048
9.50k
        auto it = read_source_impl(range, {specs});
5049
9.50k
        if (SCN_UNLIKELY(!it)) {
5050
9.27k
            return unexpected(it.error());
5051
9.27k
        }
5052
5053
228
        return read_string_impl(range, *it, value);
5054
9.50k
    }
5055
5056
    template <typename Range, typename ValueCharT>
5057
    auto read(Range range,
5058
              const detail::format_specs& specs,
5059
              std::basic_string_view<ValueCharT>& value)
5060
        -> scan_expected<ranges::const_iterator_t<Range>>
5061
17.0k
    {
5062
17.0k
        auto it = read_source_impl(range, {specs});
5063
17.0k
        if (SCN_UNLIKELY(!it)) {
5064
14.2k
            return unexpected(it.error());
5065
14.2k
        }
5066
5067
2.83k
        return read_string_view_impl(range, *it, value);
5068
17.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Line
Count
Source
5061
206
    {
5062
206
        auto it = read_source_impl(range, {specs});
5063
206
        if (SCN_UNLIKELY(!it)) {
5064
12
            return unexpected(it.error());
5065
12
        }
5066
5067
194
        return read_string_view_impl(range, *it, value);
5068
206
    }
_ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5061
7.35k
    {
5062
7.35k
        auto it = read_source_impl(range, {specs});
5063
7.35k
        if (SCN_UNLIKELY(!it)) {
5064
4.94k
            return unexpected(it.error());
5065
4.94k
        }
5066
5067
2.41k
        return read_string_view_impl(range, *it, value);
5068
7.35k
    }
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEcEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEcEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERNSI_17basic_string_viewIT0_NSI_11char_traitsISU_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERNSG_17basic_string_viewIT0_NSG_11char_traitsISS_EEEE
Unexecuted instantiation: _ZN3scn2v34impl25character_set_reader_implIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEwEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERNSF_17basic_string_viewIT0_NSF_11char_traitsISS_EEEE
_ZN3scn2v34impl25character_set_reader_implIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERNSD_17basic_string_viewIT0_NSD_11char_traitsISQ_EEEE
Line
Count
Source
5061
9.50k
    {
5062
9.50k
        auto it = read_source_impl(range, {specs});
5063
9.50k
        if (SCN_UNLIKELY(!it)) {
5064
9.27k
            return unexpected(it.error());
5065
9.27k
        }
5066
5067
228
        return read_string_view_impl(range, *it, value);
5068
9.50k
    }
5069
5070
private:
5071
    struct specs_helper {
5072
51.1k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v3::impl::character_set_reader_impl<char>::specs_helper::specs_helper(scn::v3::detail::format_specs const&)
Line
Count
Source
5072
22.6k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::specs_helper(scn::v3::detail::format_specs const&)
Line
Count
Source
5072
28.5k
        constexpr specs_helper(const detail::format_specs& s) : specs(s) {}
5073
5074
        constexpr bool is_char_set_in_literals(char ch) const
5075
361k
        {
5076
361k
            SCN_EXPECT(is_ascii_char(ch));
5077
361k
            const auto val =
5078
361k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
361k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
361k
                    (val % 8)) &
5081
361k
                   1u;
5082
361k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5075
341k
        {
5076
341k
            SCN_EXPECT(is_ascii_char(ch));
5077
341k
            const auto val =
5078
341k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
341k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
341k
                    (val % 8)) &
5081
341k
                   1u;
5082
341k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_literals(char) const
Line
Count
Source
5075
19.8k
        {
5076
19.8k
            SCN_EXPECT(is_ascii_char(ch));
5077
19.8k
            const auto val =
5078
19.8k
                static_cast<unsigned>(static_cast<unsigned char>(ch));
5079
19.8k
            return (static_cast<unsigned>(specs.charset_literals[val / 8]) >>
5080
19.8k
                    (val % 8)) &
5081
19.8k
                   1u;
5082
19.8k
        }
5083
5084
        bool is_char_set_in_extra_literals(char32_t cp) const
5085
42.7k
        {
5086
            // TODO: binary search?
5087
42.7k
            if (nonascii.extra_ranges.empty()) {
5088
0
                return false;
5089
0
            }
5090
5091
42.7k
            const auto cp_val = static_cast<uint32_t>(cp);
5092
42.7k
            return std::find_if(
5093
42.7k
                       nonascii.extra_ranges.begin(),
5094
42.7k
                       nonascii.extra_ranges.end(),
5095
8.42M
                       [cp_val](const auto& pair) noexcept {
5096
8.42M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
8.42M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
8.42M
                       }) != nonascii.extra_ranges.end();
auto scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5095
8.41M
                       [cp_val](const auto& pair) noexcept {
5096
8.41M
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
8.41M
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
8.41M
                       }) != nonascii.extra_ranges.end();
auto scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const::{lambda(auto:1 const&)#1}::operator()<std::__1::pair<char32_t, char32_t> >(std::__1::pair<char32_t, char32_t> const&) const
Line
Count
Source
5095
8.04k
                       [cp_val](const auto& pair) noexcept {
5096
8.04k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
8.04k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
8.04k
                       }) != nonascii.extra_ranges.end();
5099
42.7k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5085
41.5k
        {
5086
            // TODO: binary search?
5087
41.5k
            if (nonascii.extra_ranges.empty()) {
5088
0
                return false;
5089
0
            }
5090
5091
41.5k
            const auto cp_val = static_cast<uint32_t>(cp);
5092
41.5k
            return std::find_if(
5093
41.5k
                       nonascii.extra_ranges.begin(),
5094
41.5k
                       nonascii.extra_ranges.end(),
5095
41.5k
                       [cp_val](const auto& pair) noexcept {
5096
41.5k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
41.5k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
41.5k
                       }) != nonascii.extra_ranges.end();
5099
41.5k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::is_char_set_in_extra_literals(char32_t) const
Line
Count
Source
5085
1.17k
        {
5086
            // TODO: binary search?
5087
1.17k
            if (nonascii.extra_ranges.empty()) {
5088
0
                return false;
5089
0
            }
5090
5091
1.17k
            const auto cp_val = static_cast<uint32_t>(cp);
5092
1.17k
            return std::find_if(
5093
1.17k
                       nonascii.extra_ranges.begin(),
5094
1.17k
                       nonascii.extra_ranges.end(),
5095
1.17k
                       [cp_val](const auto& pair) noexcept {
5096
1.17k
                           return static_cast<uint32_t>(pair.first) <= cp_val &&
5097
1.17k
                                  static_cast<uint32_t>(pair.second) > cp_val;
5098
1.17k
                       }) != nonascii.extra_ranges.end();
5099
1.17k
        }
5100
5101
        scan_error handle_nonascii()
5102
51.1k
        {
5103
51.1k
            if (!specs.charset_has_nonascii) {
5104
48.2k
                return {};
5105
48.2k
            }
5106
5107
2.97k
            auto charset_string = specs.charset_string<SourceCharT>();
5108
2.97k
            auto it = detail::to_address(charset_string.begin());
5109
2.97k
            auto set = detail::parse_presentation_set(
5110
2.97k
                it, detail::to_address(charset_string.end()), nonascii);
5111
2.97k
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
2.97k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
2.97k
            SCN_ENSURE(set == charset_string);
5116
5117
2.97k
            std::sort(nonascii.extra_ranges.begin(),
5118
2.97k
                      nonascii.extra_ranges.end());
5119
2.97k
            return {};
5120
2.97k
        }
scn::v3::impl::character_set_reader_impl<char>::specs_helper::handle_nonascii()
Line
Count
Source
5102
22.6k
        {
5103
22.6k
            if (!specs.charset_has_nonascii) {
5104
20.0k
                return {};
5105
20.0k
            }
5106
5107
2.68k
            auto charset_string = specs.charset_string<SourceCharT>();
5108
2.68k
            auto it = detail::to_address(charset_string.begin());
5109
2.68k
            auto set = detail::parse_presentation_set(
5110
2.68k
                it, detail::to_address(charset_string.end()), nonascii);
5111
2.68k
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
2.68k
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
2.68k
            SCN_ENSURE(set == charset_string);
5116
5117
2.68k
            std::sort(nonascii.extra_ranges.begin(),
5118
2.68k
                      nonascii.extra_ranges.end());
5119
2.68k
            return {};
5120
2.68k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::specs_helper::handle_nonascii()
Line
Count
Source
5102
28.5k
        {
5103
28.5k
            if (!specs.charset_has_nonascii) {
5104
28.2k
                return {};
5105
28.2k
            }
5106
5107
288
            auto charset_string = specs.charset_string<SourceCharT>();
5108
288
            auto it = detail::to_address(charset_string.begin());
5109
288
            auto set = detail::parse_presentation_set(
5110
288
                it, detail::to_address(charset_string.end()), nonascii);
5111
288
            if (SCN_UNLIKELY(!nonascii)) {
5112
0
                return nonascii.err;
5113
0
            }
5114
288
            SCN_ENSURE(it == detail::to_address(charset_string.end()));
5115
288
            SCN_ENSURE(set == charset_string);
5116
5117
288
            std::sort(nonascii.extra_ranges.begin(),
5118
288
                      nonascii.extra_ranges.end());
5119
288
            return {};
5120
288
        }
5121
5122
        const detail::format_specs& specs;
5123
        nonascii_specs_handler nonascii;
5124
    };
5125
5126
    struct read_source_callback {
5127
        SCN_NODISCARD bool on_ascii_only(SourceCharT ch) const
5128
83.6k
        {
5129
83.6k
            if (!is_ascii_char(ch)) {
5130
19.9k
                return false;
5131
19.9k
            }
5132
5133
63.6k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
83.6k
        }
scn::v3::impl::character_set_reader_impl<char>::read_source_callback::on_ascii_only(char) const
Line
Count
Source
5128
54.1k
        {
5129
54.1k
            if (!is_ascii_char(ch)) {
5130
7.32k
                return false;
5131
7.32k
            }
5132
5133
46.8k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
54.1k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_ascii_only(wchar_t) const
Line
Count
Source
5128
29.5k
        {
5129
29.5k
            if (!is_ascii_char(ch)) {
5130
12.6k
                return false;
5131
12.6k
            }
5132
5133
16.8k
            return helper.is_char_set_in_literals(static_cast<char>(ch));
5134
29.5k
        }
5135
5136
        SCN_NODISCARD bool on_classic_with_extra_ranges(char32_t cp) const
5137
340k
        {
5138
340k
            if (!is_ascii_char(cp)) {
5139
42.7k
                return helper.is_char_set_in_extra_literals(cp);
5140
42.7k
            }
5141
5142
297k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5143
340k
        }
scn::v3::impl::character_set_reader_impl<char>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5137
336k
        {
5138
336k
            if (!is_ascii_char(cp)) {
5139
41.5k
                return helper.is_char_set_in_extra_literals(cp);
5140
41.5k
            }
5141
5142
294k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5143
336k
        }
scn::v3::impl::character_set_reader_impl<wchar_t>::read_source_callback::on_classic_with_extra_ranges(char32_t) const
Line
Count
Source
5137
4.17k
        {
5138
4.17k
            if (!is_ascii_char(cp)) {
5139
1.17k
                return helper.is_char_set_in_extra_literals(cp);
5140
1.17k
            }
5141
5142
3.00k
            return helper.is_char_set_in_literals(static_cast<char>(cp));
5143
4.17k
        }
5144
5145
        const specs_helper& helper;
5146
        detail::locale_ref loc{};
5147
    };
5148
5149
    template <typename Range>
5150
    auto read_source_impl(Range range, specs_helper helper) const
5151
        -> scan_expected<ranges::const_iterator_t<Range>>
5152
51.1k
    {
5153
51.1k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
51.1k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
51.1k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
51.1k
        read_source_callback cb_wrapper{helper};
5161
5162
51.1k
        if (accepts_nonascii) {
5163
340k
            const auto cb = [&](char32_t cp) {
5164
340k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
340k
            };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
17.4k
            const auto cb = [&](char32_t cp) {
5164
17.4k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
17.4k
            };
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
318k
            const auto cb = [&](char32_t cp) {
5164
318k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
318k
            };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlDiE_clEDi
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlDiE_clEDi
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlDiE_clEDi
Line
Count
Source
5163
4.17k
            const auto cb = [&](char32_t cp) {
5164
4.17k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
4.17k
            };
5166
5167
2.97k
            if (is_inverted) {
5168
408
                auto it = read_until_code_point(range, cb);
5169
408
                return check_nonempty(it, range);
5170
408
            }
5171
2.56k
            auto it = read_while_code_point(range, cb);
5172
2.56k
            return check_nonempty(it, range);
5173
2.97k
        }
5174
5175
83.6k
        const auto cb = [&](SourceCharT ch) {
5176
83.6k
            return cb_wrapper.on_ascii_only(ch);
5177
83.6k
        };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlcE_clEc
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5175
14.4k
        const auto cb = [&](SourceCharT ch) {
5176
14.4k
            return cb_wrapper.on_ascii_only(ch);
5177
14.4k
        };
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5175
7.02k
        const auto cb = [&](SourceCharT ch) {
5176
7.02k
            return cb_wrapper.on_ascii_only(ch);
5177
7.02k
        };
_ZZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlcE_clEc
Line
Count
Source
5175
32.6k
        const auto cb = [&](SourceCharT ch) {
5176
32.6k
            return cb_wrapper.on_ascii_only(ch);
5177
32.6k
        };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperEENKUlwE_clEw
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5175
9.42k
        const auto cb = [&](SourceCharT ch) {
5176
9.42k
            return cb_wrapper.on_ascii_only(ch);
5177
9.42k
        };
Unexecuted instantiation: _ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperEENKUlwE_clEw
_ZZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperEENKUlwE_clEw
Line
Count
Source
5175
20.0k
        const auto cb = [&](SourceCharT ch) {
5176
20.0k
            return cb_wrapper.on_ascii_only(ch);
5177
20.0k
        };
5178
5179
48.2k
        if (is_inverted) {
5180
342
            auto it = read_until_code_unit(range, cb);
5181
342
            return check_nonempty(it, range);
5182
342
        }
5183
47.8k
        auto it = read_while_code_unit(range, cb);
5184
47.8k
        return check_nonempty(it, range);
5185
48.2k
    }
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
_ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
Line
Count
Source
5152
6.46k
    {
5153
6.46k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
6.46k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
6.46k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
6.46k
        read_source_callback cb_wrapper{helper};
5161
5162
6.46k
        if (accepts_nonascii) {
5163
0
            const auto cb = [&](char32_t cp) {
5164
0
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
0
            };
5166
5167
0
            if (is_inverted) {
5168
0
                auto it = read_until_code_point(range, cb);
5169
0
                return check_nonempty(it, range);
5170
0
            }
5171
0
            auto it = read_while_code_point(range, cb);
5172
0
            return check_nonempty(it, range);
5173
0
        }
5174
5175
6.46k
        const auto cb = [&](SourceCharT ch) {
5176
6.46k
            return cb_wrapper.on_ascii_only(ch);
5177
6.46k
        };
5178
5179
6.46k
        if (is_inverted) {
5180
0
            auto it = read_until_code_unit(range, cb);
5181
0
            return check_nonempty(it, range);
5182
0
        }
5183
6.46k
        auto it = read_while_code_unit(range, cb);
5184
6.46k
        return check_nonempty(it, range);
5185
6.46k
    }
_ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
Line
Count
Source
5152
618
    {
5153
618
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
618
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
618
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
618
        read_source_callback cb_wrapper{helper};
5161
5162
618
        if (accepts_nonascii) {
5163
318
            const auto cb = [&](char32_t cp) {
5164
318
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
318
            };
5166
5167
318
            if (is_inverted) {
5168
120
                auto it = read_until_code_point(range, cb);
5169
120
                return check_nonempty(it, range);
5170
120
            }
5171
198
            auto it = read_while_code_point(range, cb);
5172
198
            return check_nonempty(it, range);
5173
318
        }
5174
5175
300
        const auto cb = [&](SourceCharT ch) {
5176
300
            return cb_wrapper.on_ascii_only(ch);
5177
300
        };
5178
5179
300
        if (is_inverted) {
5180
156
            auto it = read_until_code_unit(range, cb);
5181
156
            return check_nonempty(it, range);
5182
156
        }
5183
144
        auto it = read_while_code_unit(range, cb);
5184
144
        return check_nonempty(it, range);
5185
300
    }
_ZNK3scn2v34impl25character_set_reader_implIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5152
15.6k
    {
5153
15.6k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
15.6k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
15.6k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
15.6k
        read_source_callback cb_wrapper{helper};
5161
5162
15.6k
        if (accepts_nonascii) {
5163
2.36k
            const auto cb = [&](char32_t cp) {
5164
2.36k
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
2.36k
            };
5166
5167
2.36k
            if (is_inverted) {
5168
216
                auto it = read_until_code_point(range, cb);
5169
216
                return check_nonempty(it, range);
5170
216
            }
5171
2.14k
            auto it = read_while_code_point(range, cb);
5172
2.14k
            return check_nonempty(it, range);
5173
2.36k
        }
5174
5175
13.2k
        const auto cb = [&](SourceCharT ch) {
5176
13.2k
            return cb_wrapper.on_ascii_only(ch);
5177
13.2k
        };
5178
5179
13.2k
        if (is_inverted) {
5180
156
            auto it = read_until_code_unit(range, cb);
5181
156
            return check_nonempty(it, range);
5182
156
        }
5183
13.0k
        auto it = read_while_code_unit(range, cb);
5184
13.0k
        return check_nonempty(it, range);
5185
13.2k
    }
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NS3_12specs_helperE
_ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS3_12specs_helperE
Line
Count
Source
5152
9.37k
    {
5153
9.37k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
9.37k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
9.37k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
9.37k
        read_source_callback cb_wrapper{helper};
5161
5162
9.37k
        if (accepts_nonascii) {
5163
0
            const auto cb = [&](char32_t cp) {
5164
0
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
0
            };
5166
5167
0
            if (is_inverted) {
5168
0
                auto it = read_until_code_point(range, cb);
5169
0
                return check_nonempty(it, range);
5170
0
            }
5171
0
            auto it = read_while_code_point(range, cb);
5172
0
            return check_nonempty(it, range);
5173
0
        }
5174
5175
9.37k
        const auto cb = [&](SourceCharT ch) {
5176
9.37k
            return cb_wrapper.on_ascii_only(ch);
5177
9.37k
        };
5178
5179
9.37k
        if (is_inverted) {
5180
0
            auto it = read_until_code_unit(range, cb);
5181
0
            return check_nonempty(it, range);
5182
0
        }
5183
9.37k
        auto it = read_while_code_unit(range, cb);
5184
9.37k
        return check_nonempty(it, range);
5185
9.37k
    }
Unexecuted instantiation: _ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS3_12specs_helperE
_ZNK3scn2v34impl25character_set_reader_implIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS3_12specs_helperE
Line
Count
Source
5152
19.1k
    {
5153
19.1k
        const bool is_inverted = helper.specs.charset_is_inverted;
5154
19.1k
        const bool accepts_nonascii = helper.specs.charset_has_nonascii;
5155
5156
19.1k
        if (auto e = helper.handle_nonascii(); SCN_UNLIKELY(!e)) {
5157
0
            return unexpected(e);
5158
0
        }
5159
5160
19.1k
        read_source_callback cb_wrapper{helper};
5161
5162
19.1k
        if (accepts_nonascii) {
5163
288
            const auto cb = [&](char32_t cp) {
5164
288
                return cb_wrapper.on_classic_with_extra_ranges(cp);
5165
288
            };
5166
5167
288
            if (is_inverted) {
5168
72
                auto it = read_until_code_point(range, cb);
5169
72
                return check_nonempty(it, range);
5170
72
            }
5171
216
            auto it = read_while_code_point(range, cb);
5172
216
            return check_nonempty(it, range);
5173
288
        }
5174
5175
18.8k
        const auto cb = [&](SourceCharT ch) {
5176
18.8k
            return cb_wrapper.on_ascii_only(ch);
5177
18.8k
        };
5178
5179
18.8k
        if (is_inverted) {
5180
30
            auto it = read_until_code_unit(range, cb);
5181
30
            return check_nonempty(it, range);
5182
30
        }
5183
18.8k
        auto it = read_while_code_unit(range, cb);
5184
18.8k
        return check_nonempty(it, range);
5185
18.8k
    }
5186
5187
    template <typename Iterator, typename Range>
5188
    static scan_expected<Iterator> check_nonempty(const Iterator& it,
5189
                                                  Range range)
5190
51.1k
    {
5191
51.1k
        if (it == range.begin()) {
5192
42.7k
            return unexpected_scan_error(
5193
42.7k
                scan_error::invalid_scanned_value,
5194
42.7k
                "No characters matched in [character set]");
5195
42.7k
        }
5196
5197
8.49k
        return it;
5198
51.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
5190
6.46k
    {
5191
6.46k
        if (it == range.begin()) {
5192
4.62k
            return unexpected_scan_error(
5193
4.62k
                scan_error::invalid_scanned_value,
5194
4.62k
                "No characters matched in [character set]");
5195
4.62k
        }
5196
5197
1.83k
        return it;
5198
6.46k
    }
scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > scn::v3::impl::character_set_reader_impl<char>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >)
Line
Count
Source
5190
618
    {
5191
618
        if (it == range.begin()) {
5192
36
            return unexpected_scan_error(
5193
36
                scan_error::invalid_scanned_value,
5194
36
                "No characters matched in [character set]");
5195
36
        }
5196
5197
582
        return it;
5198
618
    }
scn::v3::scan_expected<char const*> scn::v3::impl::character_set_reader_impl<char>::check_nonempty<char const*, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(char const* const&, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>)
Line
Count
Source
5190
15.6k
    {
5191
15.6k
        if (it == range.begin()) {
5192
10.2k
            return unexpected_scan_error(
5193
10.2k
                scan_error::invalid_scanned_value,
5194
10.2k
                "No characters matched in [character set]");
5195
10.2k
        }
5196
5197
5.39k
        return it;
5198
15.6k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
Line
Count
Source
5190
9.37k
    {
5191
9.37k
        if (it == range.begin()) {
5192
9.24k
            return unexpected_scan_error(
5193
9.24k
                scan_error::invalid_scanned_value,
5194
9.24k
                "No characters matched in [character set]");
5195
9.24k
        }
5196
5197
130
        return it;
5198
9.37k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::character_set_reader_impl<wchar_t>::check_nonempty<wchar_t const*, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(wchar_t const* const&, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>)
Line
Count
Source
5190
19.1k
    {
5191
19.1k
        if (it == range.begin()) {
5192
18.5k
            return unexpected_scan_error(
5193
18.5k
                scan_error::invalid_scanned_value,
5194
18.5k
                "No characters matched in [character set]");
5195
18.5k
        }
5196
5197
554
        return it;
5198
19.1k
    }
5199
};
5200
5201
template <typename SourceCharT>
5202
class string_reader
5203
    : public reader_base<string_reader<SourceCharT>, SourceCharT> {
5204
public:
5205
11.8M
    constexpr string_reader() = default;
scn::v3::impl::string_reader<char>::string_reader()
Line
Count
Source
5205
896k
    constexpr string_reader() = default;
scn::v3::impl::string_reader<wchar_t>::string_reader()
Line
Count
Source
5205
10.9M
    constexpr string_reader() = default;
5206
5207
    void check_specs_impl(const detail::format_specs& specs,
5208
                          reader_error_handler& eh)
5209
4.77M
    {
5210
4.77M
        detail::check_string_type_specs(specs, eh);
5211
5212
4.77M
        SCN_GCC_PUSH
5213
4.77M
        SCN_GCC_IGNORE("-Wswitch")
5214
4.77M
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
4.77M
        SCN_CLANG_PUSH
5217
4.77M
        SCN_CLANG_IGNORE("-Wswitch")
5218
4.77M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
4.77M
        switch (specs.type) {
5221
2.56k
            case detail::presentation_type::none:
5222
2.56k
                m_type = reader_type::word;
5223
2.56k
                break;
5224
5225
4.66M
            case detail::presentation_type::string: {
5226
4.66M
                if (specs.align == detail::align_type::left ||
5227
4.66M
                    specs.align == detail::align_type::center) {
5228
432
                    m_type = reader_type::custom_word;
5229
432
                }
5230
4.66M
                else {
5231
4.66M
                    m_type = reader_type::word;
5232
4.66M
                }
5233
4.66M
                break;
5234
0
            }
5235
5236
41.7k
            case detail::presentation_type::character:
5237
41.7k
                m_type = reader_type::character;
5238
41.7k
                break;
5239
5240
51.2k
            case detail::presentation_type::string_set:
5241
51.2k
                m_type = reader_type::character_set;
5242
51.2k
                break;
5243
5244
14.1k
            case detail::presentation_type::regex:
5245
14.1k
                m_type = reader_type::regex;
5246
14.1k
                break;
5247
5248
1.29k
            case detail::presentation_type::regex_escaped:
5249
1.29k
                m_type = reader_type::regex_escaped;
5250
1.29k
                break;
5251
4.77M
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
4.77M
    }
scn::v3::impl::string_reader<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5209
388k
    {
5210
388k
        detail::check_string_type_specs(specs, eh);
5211
5212
388k
        SCN_GCC_PUSH
5213
388k
        SCN_GCC_IGNORE("-Wswitch")
5214
388k
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
388k
        SCN_CLANG_PUSH
5217
388k
        SCN_CLANG_IGNORE("-Wswitch")
5218
388k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
388k
        switch (specs.type) {
5221
1.38k
            case detail::presentation_type::none:
5222
1.38k
                m_type = reader_type::word;
5223
1.38k
                break;
5224
5225
339k
            case detail::presentation_type::string: {
5226
339k
                if (specs.align == detail::align_type::left ||
5227
339k
                    specs.align == detail::align_type::center) {
5228
288
                    m_type = reader_type::custom_word;
5229
288
                }
5230
339k
                else {
5231
339k
                    m_type = reader_type::word;
5232
339k
                }
5233
339k
                break;
5234
0
            }
5235
5236
13.9k
            case detail::presentation_type::character:
5237
13.9k
                m_type = reader_type::character;
5238
13.9k
                break;
5239
5240
22.6k
            case detail::presentation_type::string_set:
5241
22.6k
                m_type = reader_type::character_set;
5242
22.6k
                break;
5243
5244
8.92k
            case detail::presentation_type::regex:
5245
8.92k
                m_type = reader_type::regex;
5246
8.92k
                break;
5247
5248
1.09k
            case detail::presentation_type::regex_escaped:
5249
1.09k
                m_type = reader_type::regex_escaped;
5250
1.09k
                break;
5251
388k
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
388k
    }
scn::v3::impl::string_reader<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5209
4.39M
    {
5210
4.39M
        detail::check_string_type_specs(specs, eh);
5211
5212
4.39M
        SCN_GCC_PUSH
5213
4.39M
        SCN_GCC_IGNORE("-Wswitch")
5214
4.39M
        SCN_GCC_IGNORE("-Wswitch-default")
5215
5216
4.39M
        SCN_CLANG_PUSH
5217
4.39M
        SCN_CLANG_IGNORE("-Wswitch")
5218
4.39M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5219
5220
4.39M
        switch (specs.type) {
5221
1.17k
            case detail::presentation_type::none:
5222
1.17k
                m_type = reader_type::word;
5223
1.17k
                break;
5224
5225
4.32M
            case detail::presentation_type::string: {
5226
4.32M
                if (specs.align == detail::align_type::left ||
5227
4.32M
                    specs.align == detail::align_type::center) {
5228
144
                    m_type = reader_type::custom_word;
5229
144
                }
5230
4.32M
                else {
5231
4.32M
                    m_type = reader_type::word;
5232
4.32M
                }
5233
4.32M
                break;
5234
0
            }
5235
5236
27.8k
            case detail::presentation_type::character:
5237
27.8k
                m_type = reader_type::character;
5238
27.8k
                break;
5239
5240
28.5k
            case detail::presentation_type::string_set:
5241
28.5k
                m_type = reader_type::character_set;
5242
28.5k
                break;
5243
5244
5.21k
            case detail::presentation_type::regex:
5245
5.21k
                m_type = reader_type::regex;
5246
5.21k
                break;
5247
5248
198
            case detail::presentation_type::regex_escaped:
5249
198
                m_type = reader_type::regex_escaped;
5250
198
                break;
5251
4.39M
        }
5252
5253
        SCN_CLANG_POP    // -Wswitch-enum, -Wcovered-switch-default
5254
            SCN_GCC_POP  // -Wswitch-enum, -Wswitch-default
5255
4.39M
    }
5256
5257
    bool skip_ws_before_read() const
5258
16.3M
    {
5259
16.3M
        return m_type == reader_type::word;
5260
16.3M
    }
scn::v3::impl::string_reader<char>::skip_ws_before_read() const
Line
Count
Source
5258
1.21M
    {
5259
1.21M
        return m_type == reader_type::word;
5260
1.21M
    }
scn::v3::impl::string_reader<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5258
15.1M
    {
5259
15.1M
        return m_type == reader_type::word;
5260
15.1M
    }
5261
5262
    template <typename Range, typename Value>
5263
    auto read_default(Range range, Value& value, detail::locale_ref loc)
5264
        -> scan_expected<ranges::const_iterator_t<Range>>
5265
7.01M
    {
5266
7.01M
        SCN_UNUSED(loc);
5267
7.01M
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
7.01M
    }
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
160k
    {
5266
160k
        SCN_UNUSED(loc);
5267
160k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
160k
    }
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
160k
    {
5266
160k
        SCN_UNUSED(loc);
5267
160k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
160k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
634
    {
5266
634
        SCN_UNUSED(loc);
5267
634
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
634
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Line
Count
Source
5265
180k
    {
5266
180k
        SCN_UNUSED(loc);
5267
180k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
180k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
10.2k
    {
5266
10.2k
        SCN_UNUSED(loc);
5267
10.2k
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
10.2k
    }
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
2.17M
    {
5266
2.17M
        SCN_UNUSED(loc);
5267
2.17M
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
2.17M
    }
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RT0_NS0_6detail10locale_refE
Line
Count
Source
5265
2.17M
    {
5266
2.17M
        SCN_UNUSED(loc);
5267
2.17M
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
2.17M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RT0_NS9_10locale_refE
Line
Count
Source
5265
2.16M
    {
5266
2.16M
        SCN_UNUSED(loc);
5267
2.16M
        return word_reader_impl<SourceCharT>{}.read(range, value);
5268
2.16M
    }
5269
5270
    template <typename Range, typename Value>
5271
    auto read_specs(Range range,
5272
                    const detail::format_specs& specs,
5273
                    Value& value,
5274
                    detail::locale_ref loc)
5275
        -> scan_expected<ranges::const_iterator_t<Range>>
5276
4.72M
    {
5277
4.72M
        SCN_UNUSED(loc);
5278
4.72M
        return read_impl(range, specs, value);
5279
4.72M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
5276
127k
    {
5277
127k
        SCN_UNUSED(loc);
5278
127k
        return read_impl(range, specs, value);
5279
127k
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
702
    {
5277
702
        SCN_UNUSED(loc);
5278
702
        return read_impl(range, specs, value);
5279
702
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
117k
    {
5277
117k
        SCN_UNUSED(loc);
5278
117k
        return read_impl(range, specs, value);
5279
117k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
702
    {
5277
702
        SCN_UNUSED(loc);
5278
702
        return read_impl(range, specs, value);
5279
702
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
4.38k
    {
5277
4.38k
        SCN_UNUSED(loc);
5278
4.38k
        return read_impl(range, specs, value);
5279
4.38k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
702
    {
5277
702
        SCN_UNUSED(loc);
5278
702
        return read_impl(range, specs, value);
5279
702
    }
_ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5276
117k
    {
5277
117k
        SCN_UNUSED(loc);
5278
117k
        return read_impl(range, specs, value);
5279
117k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
142
    {
5277
142
        SCN_UNUSED(loc);
5278
142
        return read_impl(range, specs, value);
5279
142
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
2.25k
    {
5277
2.25k
        SCN_UNUSED(loc);
5278
2.25k
        return read_impl(range, specs, value);
5279
2.25k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_NSA_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_NS9_10locale_refE
Line
Count
Source
5276
1.44M
    {
5277
1.44M
        SCN_UNUSED(loc);
5278
1.44M
        return read_impl(range, specs, value);
5279
1.44M
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_NST_10locale_refE
Line
Count
Source
5276
142
    {
5277
142
        SCN_UNUSED(loc);
5278
142
        return read_impl(range, specs, value);
5279
142
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
1.45M
    {
5277
1.45M
        SCN_UNUSED(loc);
5278
1.45M
        return read_impl(range, specs, value);
5279
1.45M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_NSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_NS9_10locale_refE
_ZN3scn2v34impl13string_readerIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_NSR_10locale_refE
Line
Count
Source
5276
142
    {
5277
142
        SCN_UNUSED(loc);
5278
142
        return read_impl(range, specs, value);
5279
142
    }
_ZN3scn2v34impl13string_readerIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_NSP_10locale_refE
Line
Count
Source
5276
1.45M
    {
5277
1.45M
        SCN_UNUSED(loc);
5278
1.45M
        return read_impl(range, specs, value);
5279
1.45M
    }
5280
5281
protected:
5282
    enum class reader_type {
5283
        word,
5284
        custom_word,
5285
        character,
5286
        character_set,
5287
        regex,
5288
        regex_escaped,
5289
    };
5290
5291
    template <typename Range, typename Value>
5292
    auto read_impl(Range range, const detail::format_specs& specs, Value& value)
5293
        -> scan_expected<ranges::const_iterator_t<Range>>
5294
4.72M
    {
5295
4.72M
        SCN_CLANG_PUSH
5296
4.72M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
4.72M
        switch (m_type) {
5299
4.65M
            case reader_type::word:
5300
4.65M
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
426
            case reader_type::custom_word:
5303
426
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
426
                                                                   value);
5305
5306
150
            case reader_type::character:
5307
150
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
51.1k
            case reader_type::character_set:
5310
51.1k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
51.1k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
14.1k
            case reader_type::regex:
5315
14.1k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
14.1k
                    range, specs.charset_string<SourceCharT>(),
5317
14.1k
                    specs.regexp_flags, value);
5318
5319
1.29k
            case reader_type::regex_escaped:
5320
1.29k
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
1.29k
                    range,
5322
1.29k
                    get_unescaped_regex_pattern(
5323
1.29k
                        specs.charset_string<SourceCharT>()),
5324
1.29k
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
4.72M
                SCN_UNREACHABLE;
5330
4.72M
        }
5331
5332
4.72M
        SCN_CLANG_POP
5333
4.72M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
Line
Count
Source
5294
127k
    {
5295
127k
        SCN_CLANG_PUSH
5296
127k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
127k
        switch (m_type) {
5299
121k
            case reader_type::word:
5300
121k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
0
            case reader_type::custom_word:
5303
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
0
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
6.46k
            case reader_type::character_set:
5310
6.46k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
6.46k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
0
            case reader_type::regex:
5315
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
0
                    range, specs.charset_string<SourceCharT>(),
5317
0
                    specs.regexp_flags, value);
5318
5319
0
            case reader_type::regex_escaped:
5320
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
0
                    range,
5322
0
                    get_unescaped_regex_pattern(
5323
0
                        specs.charset_string<SourceCharT>()),
5324
0
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
127k
                SCN_UNREACHABLE;
5330
127k
        }
5331
5332
127k
        SCN_CLANG_POP
5333
127k
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
702
    {
5295
702
        SCN_CLANG_PUSH
5296
702
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
702
        switch (m_type) {
5299
242
            case reader_type::word:
5300
242
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
52
            case reader_type::custom_word:
5303
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
52
                                                                   value);
5305
5306
32
            case reader_type::character:
5307
32
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
206
            case reader_type::character_set:
5310
206
                return character_set_reader_impl<SourceCharT>{}.read(
5311
206
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
168
            case reader_type::regex_escaped:
5320
168
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
168
                    range,
5322
168
                    get_unescaped_regex_pattern(
5323
168
                        specs.charset_string<SourceCharT>()),
5324
168
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
702
                SCN_UNREACHABLE;
5330
702
        }
5331
5332
702
        SCN_CLANG_POP
5333
702
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
117k
    {
5295
117k
        SCN_CLANG_PUSH
5296
117k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
117k
        switch (m_type) {
5299
106k
            case reader_type::word:
5300
106k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
44
            case reader_type::custom_word:
5303
44
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
44
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
7.35k
            case reader_type::character_set:
5310
7.35k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
7.35k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2.97k
            case reader_type::regex:
5315
2.97k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2.97k
                    range, specs.charset_string<SourceCharT>(),
5317
2.97k
                    specs.regexp_flags, value);
5318
5319
198
            case reader_type::regex_escaped:
5320
198
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
198
                    range,
5322
198
                    get_unescaped_regex_pattern(
5323
198
                        specs.charset_string<SourceCharT>()),
5324
198
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
117k
                SCN_UNREACHABLE;
5330
117k
        }
5331
5332
117k
        SCN_CLANG_POP
5333
117k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
702
    {
5295
702
        SCN_CLANG_PUSH
5296
702
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
702
        switch (m_type) {
5299
242
            case reader_type::word:
5300
242
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
52
            case reader_type::custom_word:
5303
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
52
                                                                   value);
5305
5306
32
            case reader_type::character:
5307
32
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
206
            case reader_type::character_set:
5310
206
                return character_set_reader_impl<SourceCharT>{}.read(
5311
206
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
168
            case reader_type::regex_escaped:
5320
168
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
168
                    range,
5322
168
                    get_unescaped_regex_pattern(
5323
168
                        specs.charset_string<SourceCharT>()),
5324
168
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
702
                SCN_UNREACHABLE;
5330
702
        }
5331
5332
702
        SCN_CLANG_POP
5333
702
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
4.38k
    {
5295
4.38k
        SCN_CLANG_PUSH
5296
4.38k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
4.38k
        switch (m_type) {
5299
274
            case reader_type::word:
5300
274
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
44
            case reader_type::custom_word:
5303
44
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
44
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
894
            case reader_type::character_set:
5310
894
                return character_set_reader_impl<SourceCharT>{}.read(
5311
894
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2.97k
            case reader_type::regex:
5315
2.97k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2.97k
                    range, specs.charset_string<SourceCharT>(),
5317
2.97k
                    specs.regexp_flags, value);
5318
5319
198
            case reader_type::regex_escaped:
5320
198
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
198
                    range,
5322
198
                    get_unescaped_regex_pattern(
5323
198
                        specs.charset_string<SourceCharT>()),
5324
198
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
4.38k
                SCN_UNREACHABLE;
5330
4.38k
        }
5331
5332
4.38k
        SCN_CLANG_POP
5333
4.38k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
702
    {
5295
702
        SCN_CLANG_PUSH
5296
702
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
702
        switch (m_type) {
5299
242
            case reader_type::word:
5300
242
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
52
            case reader_type::custom_word:
5303
52
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
52
                                                                   value);
5305
5306
32
            case reader_type::character:
5307
32
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
206
            case reader_type::character_set:
5310
206
                return character_set_reader_impl<SourceCharT>{}.read(
5311
206
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
168
            case reader_type::regex_escaped:
5320
168
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
168
                    range,
5322
168
                    get_unescaped_regex_pattern(
5323
168
                        specs.charset_string<SourceCharT>()),
5324
168
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
702
                SCN_UNREACHABLE;
5330
702
        }
5331
5332
702
        SCN_CLANG_POP
5333
702
    }
_ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
117k
    {
5295
117k
        SCN_CLANG_PUSH
5296
117k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
117k
        switch (m_type) {
5299
106k
            case reader_type::word:
5300
106k
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
44
            case reader_type::custom_word:
5303
44
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
44
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
7.35k
            case reader_type::character_set:
5310
7.35k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
7.35k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2.97k
            case reader_type::regex:
5315
2.97k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2.97k
                    range, specs.charset_string<SourceCharT>(),
5317
2.97k
                    specs.regexp_flags, value);
5318
5319
198
            case reader_type::regex_escaped:
5320
198
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
198
                    range,
5322
198
                    get_unescaped_regex_pattern(
5323
198
                        specs.charset_string<SourceCharT>()),
5324
198
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
117k
                SCN_UNREACHABLE;
5330
117k
        }
5331
5332
117k
        SCN_CLANG_POP
5333
117k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIcE9read_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIcNSH_11char_traitsIcEENSH_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIcNSF_11char_traitsIcEENSF_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIcNSE_11char_traitsIcEENSE_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
142
    {
5295
142
        SCN_CLANG_PUSH
5296
142
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
142
        switch (m_type) {
5299
98
            case reader_type::word:
5300
98
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
20
            case reader_type::custom_word:
5303
20
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
20
                                                                   value);
5305
5306
18
            case reader_type::character:
5307
18
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
0
            case reader_type::character_set:
5310
0
                return character_set_reader_impl<SourceCharT>{}.read(
5311
0
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
4
            case reader_type::regex_escaped:
5320
4
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
4
                    range,
5322
4
                    get_unescaped_regex_pattern(
5323
4
                        specs.charset_string<SourceCharT>()),
5324
4
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
142
                SCN_UNREACHABLE;
5330
142
        }
5331
5332
142
        SCN_CLANG_POP
5333
142
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIcNSC_11char_traitsIcEENSC_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
2.25k
    {
5295
2.25k
        SCN_CLANG_PUSH
5296
2.25k
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
2.25k
        switch (m_type) {
5299
308
            case reader_type::word:
5300
308
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
26
            case reader_type::custom_word:
5303
26
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
26
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
126
            case reader_type::character_set:
5310
126
                return character_set_reader_impl<SourceCharT>{}.read(
5311
126
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
1.73k
            case reader_type::regex:
5315
1.73k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
1.73k
                    range, specs.charset_string<SourceCharT>(),
5317
1.73k
                    specs.regexp_flags, value);
5318
5319
62
            case reader_type::regex_escaped:
5320
62
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
62
                    range,
5322
62
                    get_unescaped_regex_pattern(
5323
62
                        specs.charset_string<SourceCharT>()),
5324
62
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
2.25k
                SCN_UNREACHABLE;
5330
2.25k
        }
5331
5332
2.25k
        SCN_CLANG_POP
5333
2.25k
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__112basic_stringIwNSH_11char_traitsIwEENSH_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESQ_RKNSA_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__112basic_stringIwNSF_11char_traitsIwEENSF_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESO_RKNS9_12format_specsERT0_
Line
Count
Source
5294
1.44M
    {
5295
1.44M
        SCN_CLANG_PUSH
5296
1.44M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
1.44M
        switch (m_type) {
5299
1.44M
            case reader_type::word:
5300
1.44M
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
0
            case reader_type::custom_word:
5303
0
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
0
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
9.37k
            case reader_type::character_set:
5310
9.37k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
9.37k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
0
            case reader_type::regex:
5315
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
0
                    range, specs.charset_string<SourceCharT>(),
5317
0
                    specs.regexp_flags, value);
5318
5319
0
            case reader_type::regex_escaped:
5320
0
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
0
                    range,
5322
0
                    get_unescaped_regex_pattern(
5323
0
                        specs.charset_string<SourceCharT>()),
5324
0
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
1.44M
                SCN_UNREACHABLE;
5330
1.44M
        }
5331
5332
1.44M
        SCN_CLANG_POP
5333
1.44M
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__112basic_stringIwNSE_11char_traitsIwEENSE_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESN_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
142
    {
5295
142
        SCN_CLANG_PUSH
5296
142
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
142
        switch (m_type) {
5299
98
            case reader_type::word:
5300
98
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
20
            case reader_type::custom_word:
5303
20
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
20
                                                                   value);
5305
5306
18
            case reader_type::character:
5307
18
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
0
            case reader_type::character_set:
5310
0
                return character_set_reader_impl<SourceCharT>{}.read(
5311
0
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
4
            case reader_type::regex_escaped:
5320
4
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
4
                    range,
5322
4
                    get_unescaped_regex_pattern(
5323
4
                        specs.charset_string<SourceCharT>()),
5324
4
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
142
                SCN_UNREACHABLE;
5330
142
        }
5331
5332
142
        SCN_CLANG_POP
5333
142
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__112basic_stringIwNSC_11char_traitsIwEENSC_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
1.45M
    {
5295
1.45M
        SCN_CLANG_PUSH
5296
1.45M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
1.45M
        switch (m_type) {
5299
1.44M
            case reader_type::word:
5300
1.44M
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
26
            case reader_type::custom_word:
5303
26
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
26
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
9.50k
            case reader_type::character_set:
5310
9.50k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
9.50k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
1.73k
            case reader_type::regex:
5315
1.73k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
1.73k
                    range, specs.charset_string<SourceCharT>(),
5317
1.73k
                    specs.regexp_flags, value);
5318
5319
62
            case reader_type::regex_escaped:
5320
62
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
62
                    range,
5322
62
                    get_unescaped_regex_pattern(
5323
62
                        specs.charset_string<SourceCharT>()),
5324
62
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
1.45M
                SCN_UNREACHABLE;
5330
1.45M
        }
5331
5332
1.45M
        SCN_CLANG_POP
5333
1.45M
    }
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIcNSH_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIcNSF_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIcNSE_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIcNSC_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEENSt3__117basic_string_viewIwNSH_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSH_9add_constIT_E4typeEEEEEEESO_RKNSA_12format_specsERT0_
Unexecuted instantiation: _ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEENSt3__117basic_string_viewIwNSF_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSF_9add_constIT_E4typeEEEEEEESM_RKNS9_12format_specsERT0_
_ZN3scn2v34impl13string_readerIwE9read_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEENSt3__117basic_string_viewIwNSE_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSE_9add_constIT_E4typeEEEEEEESL_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
142
    {
5295
142
        SCN_CLANG_PUSH
5296
142
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
142
        switch (m_type) {
5299
98
            case reader_type::word:
5300
98
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
20
            case reader_type::custom_word:
5303
20
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
20
                                                                   value);
5305
5306
18
            case reader_type::character:
5307
18
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
0
            case reader_type::character_set:
5310
0
                return character_set_reader_impl<SourceCharT>{}.read(
5311
0
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
2
            case reader_type::regex:
5315
2
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
2
                    range, specs.charset_string<SourceCharT>(),
5317
2
                    specs.regexp_flags, value);
5318
5319
4
            case reader_type::regex_escaped:
5320
4
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
4
                    range,
5322
4
                    get_unescaped_regex_pattern(
5323
4
                        specs.charset_string<SourceCharT>()),
5324
4
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
142
                SCN_UNREACHABLE;
5330
142
        }
5331
5332
142
        SCN_CLANG_POP
5333
142
    }
_ZN3scn2v34impl13string_readerIwE9read_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EENSt3__117basic_string_viewIwNSC_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSC_9add_constIT_E4typeEEEEEEESJ_RKNS0_6detail12format_specsERT0_
Line
Count
Source
5294
1.45M
    {
5295
1.45M
        SCN_CLANG_PUSH
5296
1.45M
        SCN_CLANG_IGNORE("-Wcovered-switch-default")
5297
5298
1.45M
        switch (m_type) {
5299
1.44M
            case reader_type::word:
5300
1.44M
                return word_reader_impl<SourceCharT>{}.read(range, value);
5301
5302
26
            case reader_type::custom_word:
5303
26
                return custom_word_reader_impl<SourceCharT>{}.read(range, specs,
5304
26
                                                                   value);
5305
5306
0
            case reader_type::character:
5307
0
                return character_reader_impl<SourceCharT>{}.read(range, value);
5308
5309
9.50k
            case reader_type::character_set:
5310
9.50k
                return character_set_reader_impl<SourceCharT>{}.read(
5311
9.50k
                    range, specs, value);
5312
5313
0
#if !SCN_DISABLE_REGEX
5314
1.73k
            case reader_type::regex:
5315
1.73k
                return regex_string_reader_impl<SourceCharT>{}.read(
5316
1.73k
                    range, specs.charset_string<SourceCharT>(),
5317
1.73k
                    specs.regexp_flags, value);
5318
5319
62
            case reader_type::regex_escaped:
5320
62
                return regex_string_reader_impl<SourceCharT>{}.read(
5321
62
                    range,
5322
62
                    get_unescaped_regex_pattern(
5323
62
                        specs.charset_string<SourceCharT>()),
5324
62
                    specs.regexp_flags, value);
5325
0
#endif
5326
5327
0
            default:
5328
0
                SCN_EXPECT(false);
5329
1.45M
                SCN_UNREACHABLE;
5330
1.45M
        }
5331
5332
1.45M
        SCN_CLANG_POP
5333
1.45M
    }
5334
5335
    reader_type m_type{reader_type::word};
5336
};
5337
5338
template <typename SourceCharT>
5339
class reader_impl_for_string : public string_reader<SourceCharT> {};
5340
5341
/////////////////////////////////////////////////////////////////
5342
// Boolean reader
5343
/////////////////////////////////////////////////////////////////
5344
5345
struct bool_reader_base {
5346
    enum options_type { allow_text = 1, allow_numeric = 2 };
5347
5348
10.8k
    constexpr bool_reader_base() = default;
5349
1.21k
    constexpr bool_reader_base(unsigned opt) : m_options(opt) {}
5350
5351
    template <typename Range>
5352
    auto read_classic(Range range, bool& value) const
5353
        -> scan_expected<ranges::const_iterator_t<Range>>
5354
11.9k
    {
5355
11.9k
        scan_error err{scan_error::invalid_scanned_value,
5356
11.9k
                       "Failed to read boolean"};
5357
5358
11.9k
        if (m_options & allow_numeric) {
5359
11.7k
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
11.7k
            else {
5363
11.7k
                err = r.error();
5364
11.7k
            }
5365
11.7k
        }
5366
5367
11.9k
        if (m_options & allow_text) {
5368
11.9k
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
11.9k
            else {
5372
11.9k
                err = r.error();
5373
11.9k
            }
5374
11.9k
        }
5375
5376
11.9k
        return unexpected(err);
5377
11.9k
    }
_ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5354
974
    {
5355
974
        scan_error err{scan_error::invalid_scanned_value,
5356
974
                       "Failed to read boolean"};
5357
5358
974
        if (m_options & allow_numeric) {
5359
866
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
866
            else {
5363
866
                err = r.error();
5364
866
            }
5365
866
        }
5366
5367
974
        if (m_options & allow_text) {
5368
952
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
952
            else {
5372
952
                err = r.error();
5373
952
            }
5374
952
        }
5375
5376
974
        return unexpected(err);
5377
974
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5354
318
    {
5355
318
        scan_error err{scan_error::invalid_scanned_value,
5356
318
                       "Failed to read boolean"};
5357
5358
318
        if (m_options & allow_numeric) {
5359
260
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
260
            else {
5363
260
                err = r.error();
5364
260
            }
5365
260
        }
5366
5367
318
        if (m_options & allow_text) {
5368
294
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
294
            else {
5372
294
                err = r.error();
5373
294
            }
5374
294
        }
5375
5376
318
        return unexpected(err);
5377
318
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5354
10.5k
    {
5355
10.5k
        scan_error err{scan_error::invalid_scanned_value,
5356
10.5k
                       "Failed to read boolean"};
5357
5358
10.5k
        if (m_options & allow_numeric) {
5359
10.5k
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
10.5k
            else {
5363
10.5k
                err = r.error();
5364
10.5k
            }
5365
10.5k
        }
5366
5367
10.5k
        if (m_options & allow_text) {
5368
10.5k
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
10.5k
            else {
5372
10.5k
                err = r.error();
5373
10.5k
            }
5374
10.5k
        }
5375
5376
10.5k
        return unexpected(err);
5377
10.5k
    }
_ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5354
138
    {
5355
138
        scan_error err{scan_error::invalid_scanned_value,
5356
138
                       "Failed to read boolean"};
5357
5358
138
        if (m_options & allow_numeric) {
5359
114
            if (auto r = read_numeric(range, value)) {
5360
0
                return *r;
5361
0
            }
5362
114
            else {
5363
114
                err = r.error();
5364
114
            }
5365
114
        }
5366
5367
138
        if (m_options & allow_text) {
5368
118
            if (auto r = read_textual_classic(range, value)) {
5369
0
                return *r;
5370
0
            }
5371
118
            else {
5372
118
                err = r.error();
5373
118
            }
5374
118
        }
5375
5376
138
        return unexpected(err);
5377
138
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5378
5379
protected:
5380
    template <typename Range>
5381
    auto read_numeric(Range range, bool& value) const
5382
        -> scan_expected<ranges::const_iterator_t<Range>>
5383
11.8k
    {
5384
11.8k
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
11.8k
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
11.8k
        return unexpected_scan_error(
5394
11.8k
            scan_error::invalid_scanned_value,
5395
11.8k
            "Failed to read numeric boolean value: No match");
5396
11.8k
    }
_ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5383
884
    {
5384
884
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
884
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
884
        return unexpected_scan_error(
5394
884
            scan_error::invalid_scanned_value,
5395
884
            "Failed to read numeric boolean value: No match");
5396
884
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5383
270
    {
5384
270
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
270
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
270
        return unexpected_scan_error(
5394
270
            scan_error::invalid_scanned_value,
5395
270
            "Failed to read numeric boolean value: No match");
5396
270
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5383
10.5k
    {
5384
10.5k
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
10.5k
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
10.5k
        return unexpected_scan_error(
5394
10.5k
            scan_error::invalid_scanned_value,
5395
10.5k
            "Failed to read numeric boolean value: No match");
5396
10.5k
    }
_ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5383
120
    {
5384
120
        if (auto r = read_matching_code_unit(range, '0')) {
5385
0
            value = false;
5386
0
            return *r;
5387
0
        }
5388
120
        if (auto r = read_matching_code_unit(range, '1')) {
5389
0
            value = true;
5390
0
            return *r;
5391
0
        }
5392
5393
120
        return unexpected_scan_error(
5394
120
            scan_error::invalid_scanned_value,
5395
120
            "Failed to read numeric boolean value: No match");
5396
120
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base12read_numericINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5397
5398
    template <typename Range>
5399
    auto read_textual_classic(Range range, bool& value) const
5400
        -> scan_expected<ranges::const_iterator_t<Range>>
5401
11.9k
    {
5402
11.9k
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
11.9k
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
11.9k
        return unexpected_scan_error(
5412
11.9k
            scan_error::invalid_scanned_value,
5413
11.9k
            "Failed to read textual boolean value: No match");
5414
11.9k
    }
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5401
952
    {
5402
952
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
952
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
952
        return unexpected_scan_error(
5412
952
            scan_error::invalid_scanned_value,
5413
952
            "Failed to read textual boolean value: No match");
5414
952
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5401
294
    {
5402
294
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
294
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
294
        return unexpected_scan_error(
5412
294
            scan_error::invalid_scanned_value,
5413
294
            "Failed to read textual boolean value: No match");
5414
294
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESE_Rb
Line
Count
Source
5401
10.5k
    {
5402
10.5k
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
10.5k
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
10.5k
        return unexpected_scan_error(
5412
10.5k
            scan_error::invalid_scanned_value,
5413
10.5k
            "Failed to read textual boolean value: No match");
5414
10.5k
    }
_ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESG_Rb
Line
Count
Source
5401
118
    {
5402
118
        if (auto r = read_matching_string_classic(range, "true")) {
5403
0
            value = true;
5404
0
            return *r;
5405
0
        }
5406
118
        if (auto r = read_matching_string_classic(range, "false")) {
5407
0
            value = false;
5408
0
            return *r;
5409
0
        }
5410
5411
118
        return unexpected_scan_error(
5412
118
            scan_error::invalid_scanned_value,
5413
118
            "Failed to read textual boolean value: No match");
5414
118
    }
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_Rb
Unexecuted instantiation: _ZNK3scn2v34impl16bool_reader_base20read_textual_classicINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESJ_Rb
5415
5416
    unsigned m_options{allow_text | allow_numeric};
5417
};
5418
5419
template <typename CharT>
5420
struct bool_reader : public bool_reader_base {
5421
    using bool_reader_base::bool_reader_base;
5422
5423
#if !SCN_DISABLE_LOCALE
5424
    template <typename Range>
5425
    auto read_localized(Range range, detail::locale_ref loc, bool& value) const
5426
        -> scan_expected<ranges::const_iterator_t<Range>>
5427
62
    {
5428
62
        scan_error err{scan_error::invalid_scanned_value,
5429
62
                       "Failed to read boolean"};
5430
5431
62
        if (m_options & allow_numeric) {
5432
50
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
50
            else {
5436
50
                err = r.error();
5437
50
            }
5438
50
        }
5439
5440
62
        if (m_options & allow_text) {
5441
34
            auto stdloc = loc.get<std::locale>();
5442
34
            const auto& numpunct =
5443
34
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
34
            const auto truename = numpunct.truename();
5445
34
            const auto falsename = numpunct.falsename();
5446
5447
34
            if (auto r =
5448
34
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
34
            else {
5452
34
                err = r.error();
5453
34
            }
5454
34
        }
5455
5456
62
        return unexpected(err);
5457
62
    }
_ZNK3scn2v34impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5427
12
    {
5428
12
        scan_error err{scan_error::invalid_scanned_value,
5429
12
                       "Failed to read boolean"};
5430
5431
12
        if (m_options & allow_numeric) {
5432
10
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
10
            else {
5436
10
                err = r.error();
5437
10
            }
5438
10
        }
5439
5440
12
        if (m_options & allow_text) {
5441
10
            auto stdloc = loc.get<std::locale>();
5442
10
            const auto& numpunct =
5443
10
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
10
            const auto truename = numpunct.truename();
5445
10
            const auto falsename = numpunct.falsename();
5446
5447
10
            if (auto r =
5448
10
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
10
            else {
5452
10
                err = r.error();
5453
10
            }
5454
10
        }
5455
5456
12
        return unexpected(err);
5457
12
    }
_ZNK3scn2v34impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5427
24
    {
5428
24
        scan_error err{scan_error::invalid_scanned_value,
5429
24
                       "Failed to read boolean"};
5430
5431
24
        if (m_options & allow_numeric) {
5432
18
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
18
            else {
5436
18
                err = r.error();
5437
18
            }
5438
18
        }
5439
5440
24
        if (m_options & allow_text) {
5441
12
            auto stdloc = loc.get<std::locale>();
5442
12
            const auto& numpunct =
5443
12
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
12
            const auto truename = numpunct.truename();
5445
12
            const auto falsename = numpunct.falsename();
5446
5447
12
            if (auto r =
5448
12
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
12
            else {
5452
12
                err = r.error();
5453
12
            }
5454
12
        }
5455
5456
24
        return unexpected(err);
5457
24
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
_ZNK3scn2v34impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_NS0_6detail10locale_refERb
Line
Count
Source
5427
6
    {
5428
6
        scan_error err{scan_error::invalid_scanned_value,
5429
6
                       "Failed to read boolean"};
5430
5431
6
        if (m_options & allow_numeric) {
5432
6
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
6
            else {
5436
6
                err = r.error();
5437
6
            }
5438
6
        }
5439
5440
6
        if (m_options & allow_text) {
5441
6
            auto stdloc = loc.get<std::locale>();
5442
6
            const auto& numpunct =
5443
6
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
6
            const auto truename = numpunct.truename();
5445
6
            const auto falsename = numpunct.falsename();
5446
5447
6
            if (auto r =
5448
6
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
6
            else {
5452
6
                err = r.error();
5453
6
            }
5454
6
        }
5455
5456
6
        return unexpected(err);
5457
6
    }
_ZNK3scn2v34impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_NS0_6detail10locale_refERb
Line
Count
Source
5427
20
    {
5428
20
        scan_error err{scan_error::invalid_scanned_value,
5429
20
                       "Failed to read boolean"};
5430
5431
20
        if (m_options & allow_numeric) {
5432
16
            if (auto r = read_numeric(range, value)) {
5433
0
                return *r;
5434
0
            }
5435
16
            else {
5436
16
                err = r.error();
5437
16
            }
5438
16
        }
5439
5440
20
        if (m_options & allow_text) {
5441
6
            auto stdloc = loc.get<std::locale>();
5442
6
            const auto& numpunct =
5443
6
                get_or_add_facet<std::numpunct<CharT>>(stdloc);
5444
6
            const auto truename = numpunct.truename();
5445
6
            const auto falsename = numpunct.falsename();
5446
5447
6
            if (auto r =
5448
6
                    read_textual_custom(range, value, truename, falsename)) {
5449
0
                return *r;
5450
0
            }
5451
6
            else {
5452
6
                err = r.error();
5453
6
            }
5454
6
        }
5455
5456
20
        return unexpected(err);
5457
20
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE14read_localizedINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_NSA_10locale_refERb
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE14read_localizedINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_NS9_10locale_refERb
5458
#endif
5459
5460
protected:
5461
    template <typename Range>
5462
    auto read_textual_custom(Range range,
5463
                             bool& value,
5464
                             std::basic_string_view<CharT> truename,
5465
                             std::basic_string_view<CharT> falsename) const
5466
        -> scan_expected<ranges::const_iterator_t<Range>>
5467
34
    {
5468
34
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
34
        const auto shorter = std::pair{
5470
34
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
34
        const auto longer = std::pair{
5472
34
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
34
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
34
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
34
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
34
                                     "read_textual: No match");
5485
34
    }
_ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIcNSF_11char_traitsIcEEEESR_
Line
Count
Source
5467
10
    {
5468
10
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
10
        const auto shorter = std::pair{
5470
10
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
10
        const auto longer = std::pair{
5472
10
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
10
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
10
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
10
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
10
                                     "read_textual: No match");
5485
10
    }
_ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIcNSD_11char_traitsIcEEEESP_
Line
Count
Source
5467
12
    {
5468
12
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
12
        const auto shorter = std::pair{
5470
12
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
12
        const auto longer = std::pair{
5472
12
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
12
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
12
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
12
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
12
                                     "read_textual: No match");
5485
12
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIcNSI_11char_traitsIcEEEESU_
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIcE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIcNSG_11char_traitsIcEEEESS_
_ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RbNSF_17basic_string_viewIwNSF_11char_traitsIwEEEESR_
Line
Count
Source
5467
6
    {
5468
6
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
6
        const auto shorter = std::pair{
5470
6
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
6
        const auto longer = std::pair{
5472
6
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
6
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
6
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
6
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
6
                                     "read_textual: No match");
5485
6
    }
_ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNSD_17basic_string_viewIwNSD_11char_traitsIwEEEESP_
Line
Count
Source
5467
6
    {
5468
6
        const auto is_truename_shorter = truename.size() <= falsename.size();
5469
6
        const auto shorter = std::pair{
5470
6
            is_truename_shorter ? truename : falsename, is_truename_shorter};
5471
6
        const auto longer = std::pair{
5472
6
            !is_truename_shorter ? truename : falsename, !is_truename_shorter};
5473
5474
6
        if (auto r = read_matching_string(range, shorter.first)) {
5475
0
            value = shorter.second;
5476
0
            return *r;
5477
0
        }
5478
6
        if (auto r = read_matching_string(range, longer.first)) {
5479
0
            value = longer.second;
5480
0
            return *r;
5481
0
        }
5482
5483
6
        return unexpected_scan_error(scan_error::invalid_scanned_value,
5484
6
                                     "read_textual: No match");
5485
6
    }
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RbNSI_17basic_string_viewIwNSI_11char_traitsIwEEEESU_
Unexecuted instantiation: _ZNK3scn2v34impl11bool_readerIwE19read_textual_customINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNSG_17basic_string_viewIwNSG_11char_traitsIwEEEESS_
5486
};
5487
5488
template <typename CharT>
5489
class reader_impl_for_bool
5490
    : public reader_base<reader_impl_for_bool<CharT>, CharT> {
5491
public:
5492
    reader_impl_for_bool() = default;
5493
5494
    void check_specs_impl(const detail::format_specs& specs,
5495
                          reader_error_handler& eh)
5496
7.78k
    {
5497
7.78k
        detail::check_bool_type_specs(specs, eh);
5498
7.78k
    }
scn::v3::impl::reader_impl_for_bool<char>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5496
5.27k
    {
5497
5.27k
        detail::check_bool_type_specs(specs, eh);
5498
5.27k
    }
scn::v3::impl::reader_impl_for_bool<wchar_t>::check_specs_impl(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
5496
2.51k
    {
5497
2.51k
        detail::check_bool_type_specs(specs, eh);
5498
2.51k
    }
5499
5500
    template <typename Range>
5501
    auto read_default(Range range, bool& value, detail::locale_ref loc) const
5502
        -> scan_expected<ranges::const_iterator_t<Range>>
5503
10.8k
    {
5504
10.8k
        SCN_UNUSED(loc);
5505
5506
10.8k
        return bool_reader<CharT>{}.read_classic(range, value);
5507
10.8k
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5503
634
    {
5504
634
        SCN_UNUSED(loc);
5505
5506
634
        return bool_reader<CharT>{}.read_classic(range, value);
5507
634
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
_ZNK3scn2v34impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RbNS0_6detail10locale_refE
Line
Count
Source
5503
10.2k
    {
5504
10.2k
        SCN_UNUSED(loc);
5505
5506
10.2k
        return bool_reader<CharT>{}.read_classic(range, value);
5507
10.2k
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RbNS9_10locale_refE
5508
5509
    template <typename Range>
5510
    auto read_specs(Range range,
5511
                    const detail::format_specs& specs,
5512
                    bool& value,
5513
                    detail::locale_ref loc) const
5514
        -> scan_expected<ranges::const_iterator_t<Range>>
5515
1.21k
    {
5516
1.21k
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
1.21k
#if !SCN_DISABLE_LOCALE
5519
1.21k
        if (specs.localized) {
5520
62
            return rd.read_localized(range, loc, value);
5521
62
        }
5522
1.15k
#endif
5523
5524
1.15k
        return rd.read_classic(range, value);
5525
1.21k
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5515
330
    {
5516
330
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
330
#if !SCN_DISABLE_LOCALE
5519
330
        if (specs.localized) {
5520
12
            return rd.read_localized(range, loc, value);
5521
12
        }
5522
318
#endif
5523
5524
318
        return rd.read_classic(range, value);
5525
330
    }
_ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5515
364
    {
5516
364
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
364
#if !SCN_DISABLE_LOCALE
5519
364
        if (specs.localized) {
5520
24
            return rd.read_localized(range, loc, value);
5521
24
        }
5522
340
#endif
5523
5524
340
        return rd.read_classic(range, value);
5525
364
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
_ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERbNSN_10locale_refE
Line
Count
Source
5515
144
    {
5516
144
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
144
#if !SCN_DISABLE_LOCALE
5519
144
        if (specs.localized) {
5520
6
            return rd.read_localized(range, loc, value);
5521
6
        }
5522
138
#endif
5523
5524
138
        return rd.read_classic(range, value);
5525
144
    }
_ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERbNSL_10locale_refE
Line
Count
Source
5515
374
    {
5516
374
        const auto rd = bool_reader<CharT>{get_options(specs)};
5517
5518
374
#if !SCN_DISABLE_LOCALE
5519
374
        if (specs.localized) {
5520
20
            return rd.read_localized(range, loc, value);
5521
20
        }
5522
354
#endif
5523
5524
354
        return rd.read_classic(range, value);
5525
374
    }
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERbNSA_10locale_refE
Unexecuted instantiation: _ZNK3scn2v34impl20reader_impl_for_boolIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERbNS9_10locale_refE
5526
5527
    static constexpr unsigned get_options(const detail::format_specs& specs)
5528
1.21k
    {
5529
1.21k
        SCN_GCC_COMPAT_PUSH
5530
1.21k
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
1.21k
        switch (specs.type) {
5533
240
            case detail::presentation_type::string:
5534
240
                return bool_reader_base::allow_text;
5535
5536
24
            case detail::presentation_type::int_generic:
5537
42
            case detail::presentation_type::int_binary:
5538
54
            case detail::presentation_type::int_decimal:
5539
72
            case detail::presentation_type::int_hex:
5540
100
            case detail::presentation_type::int_octal:
5541
114
            case detail::presentation_type::int_unsigned_decimal:
5542
114
                return bool_reader_base::allow_numeric;
5543
5544
858
            default:
5545
858
                return bool_reader_base::allow_text |
5546
858
                       bool_reader_base::allow_numeric;
5547
1.21k
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
1.21k
    }
scn::v3::impl::reader_impl_for_bool<char>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
5528
694
    {
5529
694
        SCN_GCC_COMPAT_PUSH
5530
694
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
694
        switch (specs.type) {
5533
174
            case detail::presentation_type::string:
5534
174
                return bool_reader_base::allow_text;
5535
5536
10
            case detail::presentation_type::int_generic:
5537
20
            case detail::presentation_type::int_binary:
5538
26
            case detail::presentation_type::int_decimal:
5539
36
            case detail::presentation_type::int_hex:
5540
56
            case detail::presentation_type::int_octal:
5541
60
            case detail::presentation_type::int_unsigned_decimal:
5542
60
                return bool_reader_base::allow_numeric;
5543
5544
460
            default:
5545
460
                return bool_reader_base::allow_text |
5546
460
                       bool_reader_base::allow_numeric;
5547
694
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
694
    }
scn::v3::impl::reader_impl_for_bool<wchar_t>::get_options(scn::v3::detail::format_specs const&)
Line
Count
Source
5528
518
    {
5529
518
        SCN_GCC_COMPAT_PUSH
5530
518
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
5531
5532
518
        switch (specs.type) {
5533
66
            case detail::presentation_type::string:
5534
66
                return bool_reader_base::allow_text;
5535
5536
14
            case detail::presentation_type::int_generic:
5537
22
            case detail::presentation_type::int_binary:
5538
28
            case detail::presentation_type::int_decimal:
5539
36
            case detail::presentation_type::int_hex:
5540
44
            case detail::presentation_type::int_octal:
5541
54
            case detail::presentation_type::int_unsigned_decimal:
5542
54
                return bool_reader_base::allow_numeric;
5543
5544
398
            default:
5545
398
                return bool_reader_base::allow_text |
5546
398
                       bool_reader_base::allow_numeric;
5547
518
        }
5548
5549
        SCN_GCC_COMPAT_POP  // -Wswitch-enum
5550
518
    }
5551
};
5552
5553
/////////////////////////////////////////////////////////////////
5554
// Character (code unit, code point) reader
5555
/////////////////////////////////////////////////////////////////
5556
5557
template <typename CharT>
5558
class code_unit_reader {
5559
public:
5560
    template <typename SourceRange>
5561
    auto read(const SourceRange& range, CharT& ch)
5562
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5563
11.6k
    {
5564
11.6k
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
11.6k
        ch = *range.begin();
5566
11.6k
        return it;
5567
11.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rc
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rc
_ZN3scn2v34impl16code_unit_readerIcE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rc
Line
Count
Source
5563
248
    {
5564
248
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
248
        ch = *range.begin();
5566
248
        return it;
5567
248
    }
_ZN3scn2v34impl16code_unit_readerIcE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rc
Line
Count
Source
5563
844
    {
5564
844
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
844
        ch = *range.begin();
5566
844
        return it;
5567
844
    }
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
Unexecuted instantiation: _ZN3scn2v34impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
_ZN3scn2v34impl16code_unit_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Line
Count
Source
5563
94
    {
5564
94
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
94
        ch = *range.begin();
5566
94
        return it;
5567
94
    }
_ZN3scn2v34impl16code_unit_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Line
Count
Source
5563
10.5k
    {
5564
10.5k
        SCN_TRY(it, read_code_unit(range).transform_error(make_eof_scan_error));
5565
10.5k
        ch = *range.begin();
5566
10.5k
        return it;
5567
10.5k
    }
5568
};
5569
5570
template <typename CharT>
5571
class code_point_reader;
5572
5573
template <>
5574
class code_point_reader<char32_t> {
5575
public:
5576
    template <typename SourceRange>
5577
    auto read(const SourceRange& range, char32_t& cp)
5578
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5579
0
    {
5580
0
        auto result = read_code_point_into(range);
5581
0
        if (SCN_UNLIKELY(!result.is_valid())) {
5582
0
            return unexpected_scan_error(scan_error::invalid_scanned_value,
5583
0
                                         "Invalid code point");
5584
0
        }
5585
0
        cp = detail::decode_code_point_exhaustive_valid(
5586
0
            std::basic_string_view<detail::char_t<SourceRange>>{
5587
0
                result.codepoint});
5588
0
        return result.iterator;
5589
0
    }
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_RDi
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIDiE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_RDi
5590
};
5591
5592
template <>
5593
class code_point_reader<wchar_t> {
5594
public:
5595
    template <typename SourceRange>
5596
    auto read(const SourceRange& range, wchar_t& ch)
5597
        -> scan_expected<ranges::const_iterator_t<SourceRange>>
5598
0
    {
5599
0
        code_point_reader<char32_t> reader{};
5600
0
        char32_t cp{};
5601
0
        auto ret = reader.read(range, cp);
5602
0
        if (SCN_UNLIKELY(!ret)) {
5603
0
            return unexpected(ret.error());
5604
0
        }
5605
5606
0
        SCN_TRY(encoded_ch, encode_code_point_as_wide_character(cp, true));
5607
0
        ch = encoded_ch;
5608
0
        return *ret;
5609
0
    }
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSF_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSI_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSH_Rw
Unexecuted instantiation: _ZN3scn2v34impl17code_point_readerIwE4readINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEERKSK_Rw
5610
};
5611
5612
template <typename ValueCharT>
5613
class char_reader_base {
5614
public:
5615
    constexpr char_reader_base() = default;
5616
5617
    bool skip_ws_before_read() const
5618
12.6k
    {
5619
12.6k
        return false;
5620
12.6k
    }
scn::v3::impl::char_reader_base<char>::skip_ws_before_read() const
Line
Count
Source
5618
1.61k
    {
5619
1.61k
        return false;
5620
1.61k
    }
scn::v3::impl::char_reader_base<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5618
11.0k
    {
5619
11.0k
        return false;
5620
11.0k
    }
Unexecuted instantiation: scn::v3::impl::char_reader_base<char32_t>::skip_ws_before_read() const
5621
5622
    static scan_error check_specs(const detail::format_specs& specs)
5623
7.72k
    {
5624
7.72k
        reader_error_handler eh{};
5625
7.72k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
7.72k
            detail::check_code_point_type_specs(specs, eh);
5627
7.72k
        }
5628
7.72k
        else {
5629
7.72k
            detail::check_char_type_specs(specs, eh);
5630
7.72k
        }
5631
7.72k
        if (SCN_UNLIKELY(!eh)) {
5632
6.77k
            return {scan_error::invalid_format_string, eh.m_msg};
5633
6.77k
        }
5634
950
        return {};
5635
7.72k
    }
scn::v3::impl::char_reader_base<char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5623
5.23k
    {
5624
5.23k
        reader_error_handler eh{};
5625
5.23k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
5.23k
            detail::check_code_point_type_specs(specs, eh);
5627
5.23k
        }
5628
5.23k
        else {
5629
5.23k
            detail::check_char_type_specs(specs, eh);
5630
5.23k
        }
5631
5.23k
        if (SCN_UNLIKELY(!eh)) {
5632
4.71k
            return {scan_error::invalid_format_string, eh.m_msg};
5633
4.71k
        }
5634
518
        return {};
5635
5.23k
    }
scn::v3::impl::char_reader_base<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5623
2.48k
    {
5624
2.48k
        reader_error_handler eh{};
5625
2.48k
        if constexpr (std::is_same_v<ValueCharT, char32_t>) {
5626
2.48k
            detail::check_code_point_type_specs(specs, eh);
5627
2.48k
        }
5628
2.48k
        else {
5629
2.48k
            detail::check_char_type_specs(specs, eh);
5630
2.48k
        }
5631
2.48k
        if (SCN_UNLIKELY(!eh)) {
5632
2.05k
            return {scan_error::invalid_format_string, eh.m_msg};
5633
2.05k
        }
5634
432
        return {};
5635
2.48k
    }
Unexecuted instantiation: scn::v3::impl::char_reader_base<char32_t>::check_specs(scn::v3::detail::format_specs const&)
5636
};
5637
5638
template <typename CharT>
5639
class reader_impl_for_char : public char_reader_base<char> {
5640
public:
5641
    template <typename Range>
5642
    auto read_default(Range range, char& value, detail::locale_ref loc)
5643
        -> scan_expected<ranges::const_iterator_t<Range>>
5644
1.09k
    {
5645
1.09k
        SCN_UNUSED(loc);
5646
1.09k
        if constexpr (std::is_same_v<CharT, char>) {
5647
0
            return code_unit_reader<char>{}.read(range, value);
5648
0
        }
5649
0
        else {
5650
0
            SCN_UNUSED(range);
5651
0
            SCN_EXPECT(false);
5652
0
            SCN_UNREACHABLE;
5653
0
        }
5654
1.09k
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
_ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Line
Count
Source
5644
248
    {
5645
248
        SCN_UNUSED(loc);
5646
248
        if constexpr (std::is_same_v<CharT, char>) {
5647
248
            return code_unit_reader<char>{}.read(range, value);
5648
248
        }
5649
248
        else {
5650
248
            SCN_UNUSED(range);
5651
248
            SCN_EXPECT(false);
5652
248
            SCN_UNREACHABLE;
5653
248
        }
5654
248
    }
_ZN3scn2v34impl20reader_impl_for_charIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Line
Count
Source
5644
844
    {
5645
844
        SCN_UNUSED(loc);
5646
844
        if constexpr (std::is_same_v<CharT, char>) {
5647
844
            return code_unit_reader<char>{}.read(range, value);
5648
844
        }
5649
844
        else {
5650
844
            SCN_UNUSED(range);
5651
844
            SCN_EXPECT(false);
5652
844
            SCN_UNREACHABLE;
5653
844
        }
5654
844
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RcNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RcNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RcNSA_10locale_refE
5655
5656
    template <typename Range>
5657
    auto read_specs(Range range,
5658
                    const detail::format_specs& specs,
5659
                    char& value,
5660
                    detail::locale_ref loc)
5661
        -> scan_expected<ranges::const_iterator_t<Range>>
5662
512
    {
5663
512
        if (specs.type == detail::presentation_type::none ||
5664
512
            specs.type == detail::presentation_type::character) {
5665
458
            return read_default(range, value, loc);
5666
458
        }
5667
5668
54
        reader_impl_for_int<CharT> reader{};
5669
54
        signed char tmp_value{};
5670
54
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
54
        value = static_cast<signed char>(value);
5672
54
        return ret;
5673
512
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
_ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Line
Count
Source
5662
280
    {
5663
280
        if (specs.type == detail::presentation_type::none ||
5664
280
            specs.type == detail::presentation_type::character) {
5665
248
            return read_default(range, value, loc);
5666
248
        }
5667
5668
32
        reader_impl_for_int<CharT> reader{};
5669
32
        signed char tmp_value{};
5670
32
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
32
        value = static_cast<signed char>(value);
5672
32
        return ret;
5673
280
    }
_ZN3scn2v34impl20reader_impl_for_charIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Line
Count
Source
5662
232
    {
5663
232
        if (specs.type == detail::presentation_type::none ||
5664
232
            specs.type == detail::presentation_type::character) {
5665
210
            return read_default(range, value, loc);
5666
210
        }
5667
5668
22
        reader_impl_for_int<CharT> reader{};
5669
22
        signed char tmp_value{};
5670
22
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5671
22
        value = static_cast<signed char>(value);
5672
22
        return ret;
5673
232
    }
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERcNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERcNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERcNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl20reader_impl_for_charIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERcNS9_10locale_refE
5674
};
5675
5676
template <typename CharT>
5677
class reader_impl_for_wchar : public char_reader_base<wchar_t> {
5678
public:
5679
    template <typename Range>
5680
    auto read_default(Range range, wchar_t& value, detail::locale_ref loc)
5681
        -> scan_expected<ranges::const_iterator_t<Range>>
5682
10.5k
    {
5683
10.5k
        SCN_UNUSED(loc);
5684
10.5k
        if constexpr (std::is_same_v<CharT, char>) {
5685
10.5k
            return code_point_reader<wchar_t>{}.read(range, value);
5686
10.5k
        }
5687
10.5k
        else {
5688
10.5k
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
10.5k
        }
5690
10.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
_ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Line
Count
Source
5682
94
    {
5683
94
        SCN_UNUSED(loc);
5684
94
        if constexpr (std::is_same_v<CharT, char>) {
5685
94
            return code_point_reader<wchar_t>{}.read(range, value);
5686
94
        }
5687
94
        else {
5688
94
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
94
        }
5690
94
    }
_ZN3scn2v34impl21reader_impl_for_wcharIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Line
Count
Source
5682
10.5k
    {
5683
10.5k
        SCN_UNUSED(loc);
5684
10.5k
        if constexpr (std::is_same_v<CharT, char>) {
5685
10.5k
            return code_point_reader<wchar_t>{}.read(range, value);
5686
10.5k
        }
5687
10.5k
        else {
5688
10.5k
            return code_unit_reader<wchar_t>{}.read(range, value);
5689
10.5k
        }
5690
10.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RwNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RwNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RwNSA_10locale_refE
5691
5692
    template <typename Range>
5693
    auto read_specs(Range range,
5694
                    const detail::format_specs& specs,
5695
                    wchar_t& value,
5696
                    detail::locale_ref loc)
5697
        -> scan_expected<ranges::const_iterator_t<Range>>
5698
430
    {
5699
430
        if (specs.type == detail::presentation_type::none ||
5700
430
            specs.type == detail::presentation_type::character) {
5701
390
            return read_default(range, value, loc);
5702
390
        }
5703
5704
40
        reader_impl_for_int<CharT> reader{};
5705
40
        using integer_type =
5706
40
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
40
        integer_type tmp_value{};
5708
40
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
40
        value = static_cast<integer_type>(value);
5710
40
        return ret;
5711
430
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
_ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Line
Count
Source
5698
114
    {
5699
114
        if (specs.type == detail::presentation_type::none ||
5700
114
            specs.type == detail::presentation_type::character) {
5701
94
            return read_default(range, value, loc);
5702
94
        }
5703
5704
20
        reader_impl_for_int<CharT> reader{};
5705
20
        using integer_type =
5706
20
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
20
        integer_type tmp_value{};
5708
20
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
20
        value = static_cast<integer_type>(value);
5710
20
        return ret;
5711
114
    }
_ZN3scn2v34impl21reader_impl_for_wcharIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Line
Count
Source
5698
316
    {
5699
316
        if (specs.type == detail::presentation_type::none ||
5700
316
            specs.type == detail::presentation_type::character) {
5701
296
            return read_default(range, value, loc);
5702
296
        }
5703
5704
20
        reader_impl_for_int<CharT> reader{};
5705
20
        using integer_type =
5706
20
            std::conditional_t<sizeof(wchar_t) == 2, int16_t, int32_t>;
5707
20
        integer_type tmp_value{};
5708
20
        auto ret = reader.read_specs(range, specs, tmp_value, loc);
5709
20
        value = static_cast<integer_type>(value);
5710
20
        return ret;
5711
316
    }
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERwNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERwNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERwNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl21reader_impl_for_wcharIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERwNS9_10locale_refE
5712
};
5713
5714
template <typename CharT>
5715
class reader_impl_for_code_point : public char_reader_base<char32_t> {
5716
public:
5717
    template <typename Range>
5718
    auto read_default(Range range, char32_t& value, detail::locale_ref loc)
5719
        -> scan_expected<ranges::const_iterator_t<Range>>
5720
0
    {
5721
0
        SCN_UNUSED(loc);
5722
0
        return code_point_reader<char32_t>{}.read(range, value);
5723
0
    }
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RDiNS0_6detail10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RDiNSA_10locale_refE
5724
5725
    template <typename Range>
5726
    auto read_specs(Range range,
5727
                    const detail::format_specs& specs,
5728
                    char32_t& value,
5729
                    detail::locale_ref loc)
5730
        -> scan_expected<ranges::const_iterator_t<Range>>
5731
0
    {
5732
0
        SCN_UNUSED(specs);
5733
0
        return read_default(range, value, loc);
5734
0
    }
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERDiNSN_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERDiNSL_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERDiNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl26reader_impl_for_code_pointIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERDiNS9_10locale_refE
5735
};
5736
5737
/////////////////////////////////////////////////////////////////
5738
// Pointer reader
5739
/////////////////////////////////////////////////////////////////
5740
5741
template <typename CharT>
5742
class reader_impl_for_voidptr {
5743
public:
5744
    constexpr reader_impl_for_voidptr() = default;
5745
5746
    bool skip_ws_before_read() const
5747
11.7k
    {
5748
11.7k
        return true;
5749
11.7k
    }
scn::v3::impl::reader_impl_for_voidptr<char>::skip_ws_before_read() const
Line
Count
Source
5747
1.10k
    {
5748
1.10k
        return true;
5749
1.10k
    }
scn::v3::impl::reader_impl_for_voidptr<wchar_t>::skip_ws_before_read() const
Line
Count
Source
5747
10.6k
    {
5748
10.6k
        return true;
5749
10.6k
    }
5750
5751
    static scan_error check_specs(const detail::format_specs& specs)
5752
7.72k
    {
5753
7.72k
        reader_error_handler eh{};
5754
7.72k
        detail::check_pointer_type_specs(specs, eh);
5755
7.72k
        if (SCN_UNLIKELY(!eh)) {
5756
6.85k
            return {scan_error::invalid_format_string, eh.m_msg};
5757
6.85k
        }
5758
866
        return {};
5759
7.72k
    }
scn::v3::impl::reader_impl_for_voidptr<char>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5752
5.23k
    {
5753
5.23k
        reader_error_handler eh{};
5754
5.23k
        detail::check_pointer_type_specs(specs, eh);
5755
5.23k
        if (SCN_UNLIKELY(!eh)) {
5756
4.76k
            return {scan_error::invalid_format_string, eh.m_msg};
5757
4.76k
        }
5758
468
        return {};
5759
5.23k
    }
scn::v3::impl::reader_impl_for_voidptr<wchar_t>::check_specs(scn::v3::detail::format_specs const&)
Line
Count
Source
5752
2.48k
    {
5753
2.48k
        reader_error_handler eh{};
5754
2.48k
        detail::check_pointer_type_specs(specs, eh);
5755
2.48k
        if (SCN_UNLIKELY(!eh)) {
5756
2.08k
            return {scan_error::invalid_format_string, eh.m_msg};
5757
2.08k
        }
5758
398
        return {};
5759
2.48k
    }
5760
5761
    template <typename Range>
5762
    auto read_default(Range range, void*& value, detail::locale_ref loc)
5763
        -> scan_expected<ranges::const_iterator_t<Range>>
5764
11.6k
    {
5765
11.6k
        detail::format_specs specs{};
5766
11.6k
        specs.type = detail::presentation_type::int_hex;
5767
5768
11.6k
        std::uintptr_t intvalue{};
5769
11.6k
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
11.6k
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
848
    {
5765
848
        detail::format_specs specs{};
5766
848
        specs.type = detail::presentation_type::int_hex;
5767
5768
848
        std::uintptr_t intvalue{};
5769
848
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
848
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
238
    {
5765
238
        detail::format_specs specs{};
5766
238
        specs.type = detail::presentation_type::int_hex;
5767
5768
238
        std::uintptr_t intvalue{};
5769
238
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
238
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
10.5k
    {
5765
10.5k
        detail::format_specs specs{};
5766
10.5k
        specs.type = detail::presentation_type::int_hex;
5767
5768
10.5k
        std::uintptr_t intvalue{};
5769
10.5k
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
10.5k
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RPvNS0_6detail10locale_refE
Line
Count
Source
5764
98
    {
5765
98
        detail::format_specs specs{};
5766
98
        specs.type = detail::presentation_type::int_hex;
5767
5768
98
        std::uintptr_t intvalue{};
5769
98
        SCN_TRY(result, reader_impl_for_int<CharT>{}.read_specs(range, specs,
5770
0
                                                                intvalue, loc));
5771
0
        value = reinterpret_cast<void*>(intvalue);
5772
0
        return result;
5773
98
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RPvNS9_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE12read_defaultINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RPvNSA_10locale_refE
5774
5775
    template <typename Range>
5776
    auto read_specs(Range range,
5777
                    const detail::format_specs& specs,
5778
                    void*& value,
5779
                    detail::locale_ref loc)
5780
        -> scan_expected<ranges::const_iterator_t<Range>>
5781
848
    {
5782
848
        SCN_UNUSED(specs);
5783
848
        return read_default(range, value, loc);
5784
848
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5781
238
    {
5782
238
        SCN_UNUSED(specs);
5783
238
        return read_default(range, value, loc);
5784
238
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5781
214
    {
5782
214
        SCN_UNUSED(specs);
5783
214
        return read_default(range, value, loc);
5784
214
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIcE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
_ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_RKNS0_6detail12format_specsERPvNSN_10locale_refE
Line
Count
Source
5781
98
    {
5782
98
        SCN_UNUSED(specs);
5783
98
        return read_default(range, value, loc);
5784
98
    }
_ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_RKNS0_6detail12format_specsERPvNSL_10locale_refE
Line
Count
Source
5781
298
    {
5782
298
        SCN_UNUSED(specs);
5783
298
        return read_default(range, value, loc);
5784
298
    }
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_RKNSA_12format_specsERPvNSA_10locale_refE
Unexecuted instantiation: _ZN3scn2v34impl23reader_impl_for_voidptrIwE10read_specsINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_RKNS9_12format_specsERPvNS9_10locale_refE
5785
};
5786
5787
/////////////////////////////////////////////////////////////////
5788
// Argument readers
5789
/////////////////////////////////////////////////////////////////
5790
5791
template <typename Range>
5792
auto skip_ws_before_if_required(bool is_required, Range range)
5793
    -> eof_expected<ranges::iterator_t<Range>>
5794
9.02M
{
5795
9.02M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
29.3k
        return unexpected(e);
5797
29.3k
    }
5798
5799
8.99M
    if (!is_required) {
5800
10.8k
        return range.begin();
5801
10.8k
    }
5802
5803
8.98M
    return skip_classic_whitespace(range);
5804
8.99M
}
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5794
1.13M
{
5795
1.13M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
10.5k
        return unexpected(e);
5797
10.5k
    }
5798
5799
1.12M
    if (!is_required) {
5800
634
        return range.begin();
5801
634
    }
5802
5803
1.12M
    return skip_classic_whitespace(range);
5804
1.12M
}
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Line
Count
Source
5794
1.00M
{
5795
1.00M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
9.42k
        return unexpected(e);
5797
9.42k
    }
5798
5799
991k
    if (!is_required) {
5800
0
        return range.begin();
5801
0
    }
5802
5803
991k
    return skip_classic_whitespace(range);
5804
991k
}
Unexecuted instantiation: _ZN3scn2v34impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSB_
Line
Count
Source
5794
4.57M
{
5795
4.57M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
6.02k
        return unexpected(e);
5797
6.02k
    }
5798
5799
4.56M
    if (!is_required) {
5800
10.2k
        return range.begin();
5801
10.2k
    }
5802
5803
4.55M
    return skip_classic_whitespace(range);
5804
4.56M
}
_ZN3scn2v34impl26skip_ws_before_if_requiredINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS1_12eof_expectedIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEEEEbSE_
Line
Count
Source
5794
2.31M
{
5795
2.31M
    if (auto e = eof_check(range); SCN_UNLIKELY(!e)) {
5796
3.27k
        return unexpected(e);
5797
3.27k
    }
5798
5799
2.31M
    if (!is_required) {
5800
0
        return range.begin();
5801
0
    }
5802
5803
2.31M
    return skip_classic_whitespace(range);
5804
2.31M
}
Unexecuted instantiation: _ZN3scn2v34impl26skip_ws_before_if_requiredINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_12eof_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEEEEbSA_
5805
5806
template <typename T, typename CharT>
5807
constexpr auto make_reader()
5808
11.8M
{
5809
11.8M
    if constexpr (std::is_same_v<T, bool>) {
5810
11.8M
        return reader_impl_for_bool<CharT>{};
5811
11.8M
    }
5812
11.8M
    else if constexpr (std::is_same_v<T, char>) {
5813
11.8M
        return reader_impl_for_char<CharT>{};
5814
11.8M
    }
5815
11.8M
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
11.8M
        return reader_impl_for_wchar<CharT>{};
5817
11.8M
    }
5818
11.8M
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
11.8M
        return reader_impl_for_code_point<CharT>{};
5820
11.8M
    }
5821
11.8M
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
11.8M
                       std::is_same_v<T, std::wstring_view>) {
5823
7.88M
        return reader_impl_for_string<CharT>{};
5824
7.88M
    }
5825
7.88M
    else if constexpr (std::is_same_v<T, std::string> ||
5826
7.88M
                       std::is_same_v<T, std::wstring>) {
5827
7.88M
        return reader_impl_for_string<CharT>{};
5828
7.88M
    }
5829
11.8M
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
11.8M
                       std::is_same_v<T, wregex_matches>) {
5831
11.8M
        return reader_impl_for_regex_matches<CharT>{};
5832
11.8M
    }
5833
11.8M
    else if constexpr (std::is_same_v<T, void*>) {
5834
11.8M
        return reader_impl_for_voidptr<CharT>{};
5835
11.8M
    }
5836
11.8M
    else if constexpr (std::is_floating_point_v<T>) {
5837
11.8M
        return reader_impl_for_float<CharT>{};
5838
11.8M
    }
5839
11.8M
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
11.8M
                       !std::is_same_v<T, wchar_t> &&
5841
11.8M
                       !std::is_same_v<T, char32_t> &&
5842
11.8M
                       !std::is_same_v<T, bool>) {
5843
11.8M
        return reader_impl_for_int<CharT>{};
5844
11.8M
    }
5845
11.8M
    else {
5846
11.8M
        return reader_impl_for_monostate<CharT>{};
5847
11.8M
    }
5848
11.8M
}
auto scn::v3::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, char>()
Line
Count
Source
5808
603k
{
5809
603k
    if constexpr (std::is_same_v<T, bool>) {
5810
603k
        return reader_impl_for_bool<CharT>{};
5811
603k
    }
5812
603k
    else if constexpr (std::is_same_v<T, char>) {
5813
603k
        return reader_impl_for_char<CharT>{};
5814
603k
    }
5815
603k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
603k
        return reader_impl_for_wchar<CharT>{};
5817
603k
    }
5818
603k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
603k
        return reader_impl_for_code_point<CharT>{};
5820
603k
    }
5821
603k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
603k
                       std::is_same_v<T, std::wstring_view>) {
5823
603k
        return reader_impl_for_string<CharT>{};
5824
603k
    }
5825
603k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
603k
                       std::is_same_v<T, std::wstring>) {
5827
603k
        return reader_impl_for_string<CharT>{};
5828
603k
    }
5829
603k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
603k
                       std::is_same_v<T, wregex_matches>) {
5831
603k
        return reader_impl_for_regex_matches<CharT>{};
5832
603k
    }
5833
603k
    else if constexpr (std::is_same_v<T, void*>) {
5834
603k
        return reader_impl_for_voidptr<CharT>{};
5835
603k
    }
5836
603k
    else if constexpr (std::is_floating_point_v<T>) {
5837
603k
        return reader_impl_for_float<CharT>{};
5838
603k
    }
5839
603k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
603k
                       !std::is_same_v<T, wchar_t> &&
5841
603k
                       !std::is_same_v<T, char32_t> &&
5842
603k
                       !std::is_same_v<T, bool>) {
5843
603k
        return reader_impl_for_int<CharT>{};
5844
603k
    }
5845
603k
    else {
5846
603k
        return reader_impl_for_monostate<CharT>{};
5847
603k
    }
5848
603k
}
auto scn::v3::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, char>()
Line
Count
Source
5808
5.87k
{
5809
5.87k
    if constexpr (std::is_same_v<T, bool>) {
5810
5.87k
        return reader_impl_for_bool<CharT>{};
5811
5.87k
    }
5812
5.87k
    else if constexpr (std::is_same_v<T, char>) {
5813
5.87k
        return reader_impl_for_char<CharT>{};
5814
5.87k
    }
5815
5.87k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
5.87k
        return reader_impl_for_wchar<CharT>{};
5817
5.87k
    }
5818
5.87k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
5.87k
        return reader_impl_for_code_point<CharT>{};
5820
5.87k
    }
5821
5.87k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
5.87k
                       std::is_same_v<T, std::wstring_view>) {
5823
5.87k
        return reader_impl_for_string<CharT>{};
5824
5.87k
    }
5825
5.87k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
5.87k
                       std::is_same_v<T, std::wstring>) {
5827
5.87k
        return reader_impl_for_string<CharT>{};
5828
5.87k
    }
5829
5.87k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
5.87k
                       std::is_same_v<T, wregex_matches>) {
5831
5.87k
        return reader_impl_for_regex_matches<CharT>{};
5832
5.87k
    }
5833
5.87k
    else if constexpr (std::is_same_v<T, void*>) {
5834
5.87k
        return reader_impl_for_voidptr<CharT>{};
5835
5.87k
    }
5836
5.87k
    else if constexpr (std::is_floating_point_v<T>) {
5837
5.87k
        return reader_impl_for_float<CharT>{};
5838
5.87k
    }
5839
5.87k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
5.87k
                       !std::is_same_v<T, wchar_t> &&
5841
5.87k
                       !std::is_same_v<T, char32_t> &&
5842
5.87k
                       !std::is_same_v<T, bool>) {
5843
5.87k
        return reader_impl_for_int<CharT>{};
5844
5.87k
    }
5845
5.87k
    else {
5846
5.87k
        return reader_impl_for_monostate<CharT>{};
5847
5.87k
    }
5848
5.87k
}
auto scn::v3::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>()
Line
Count
Source
5808
286k
{
5809
286k
    if constexpr (std::is_same_v<T, bool>) {
5810
286k
        return reader_impl_for_bool<CharT>{};
5811
286k
    }
5812
286k
    else if constexpr (std::is_same_v<T, char>) {
5813
286k
        return reader_impl_for_char<CharT>{};
5814
286k
    }
5815
286k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
286k
        return reader_impl_for_wchar<CharT>{};
5817
286k
    }
5818
286k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
286k
        return reader_impl_for_code_point<CharT>{};
5820
286k
    }
5821
286k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
286k
                       std::is_same_v<T, std::wstring_view>) {
5823
286k
        return reader_impl_for_string<CharT>{};
5824
286k
    }
5825
286k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
286k
                       std::is_same_v<T, std::wstring>) {
5827
286k
        return reader_impl_for_string<CharT>{};
5828
286k
    }
5829
286k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
286k
                       std::is_same_v<T, wregex_matches>) {
5831
286k
        return reader_impl_for_regex_matches<CharT>{};
5832
286k
    }
5833
286k
    else if constexpr (std::is_same_v<T, void*>) {
5834
286k
        return reader_impl_for_voidptr<CharT>{};
5835
286k
    }
5836
286k
    else if constexpr (std::is_floating_point_v<T>) {
5837
286k
        return reader_impl_for_float<CharT>{};
5838
286k
    }
5839
286k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
286k
                       !std::is_same_v<T, wchar_t> &&
5841
286k
                       !std::is_same_v<T, char32_t> &&
5842
286k
                       !std::is_same_v<T, bool>) {
5843
286k
        return reader_impl_for_int<CharT>{};
5844
286k
    }
5845
286k
    else {
5846
286k
        return reader_impl_for_monostate<CharT>{};
5847
286k
    }
5848
286k
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, char>()
auto scn::v3::impl::make_reader<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, wchar_t>()
Line
Count
Source
5808
12.6k
{
5809
12.6k
    if constexpr (std::is_same_v<T, bool>) {
5810
12.6k
        return reader_impl_for_bool<CharT>{};
5811
12.6k
    }
5812
12.6k
    else if constexpr (std::is_same_v<T, char>) {
5813
12.6k
        return reader_impl_for_char<CharT>{};
5814
12.6k
    }
5815
12.6k
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
12.6k
        return reader_impl_for_wchar<CharT>{};
5817
12.6k
    }
5818
12.6k
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
12.6k
        return reader_impl_for_code_point<CharT>{};
5820
12.6k
    }
5821
12.6k
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
12.6k
                       std::is_same_v<T, std::wstring_view>) {
5823
12.6k
        return reader_impl_for_string<CharT>{};
5824
12.6k
    }
5825
12.6k
    else if constexpr (std::is_same_v<T, std::string> ||
5826
12.6k
                       std::is_same_v<T, std::wstring>) {
5827
12.6k
        return reader_impl_for_string<CharT>{};
5828
12.6k
    }
5829
12.6k
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
12.6k
                       std::is_same_v<T, wregex_matches>) {
5831
12.6k
        return reader_impl_for_regex_matches<CharT>{};
5832
12.6k
    }
5833
12.6k
    else if constexpr (std::is_same_v<T, void*>) {
5834
12.6k
        return reader_impl_for_voidptr<CharT>{};
5835
12.6k
    }
5836
12.6k
    else if constexpr (std::is_floating_point_v<T>) {
5837
12.6k
        return reader_impl_for_float<CharT>{};
5838
12.6k
    }
5839
12.6k
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
12.6k
                       !std::is_same_v<T, wchar_t> &&
5841
12.6k
                       !std::is_same_v<T, char32_t> &&
5842
12.6k
                       !std::is_same_v<T, bool>) {
5843
12.6k
        return reader_impl_for_int<CharT>{};
5844
12.6k
    }
5845
12.6k
    else {
5846
12.6k
        return reader_impl_for_monostate<CharT>{};
5847
12.6k
    }
5848
12.6k
}
auto scn::v3::impl::make_reader<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, wchar_t>()
Line
Count
Source
5808
7.26M
{
5809
7.26M
    if constexpr (std::is_same_v<T, bool>) {
5810
7.26M
        return reader_impl_for_bool<CharT>{};
5811
7.26M
    }
5812
7.26M
    else if constexpr (std::is_same_v<T, char>) {
5813
7.26M
        return reader_impl_for_char<CharT>{};
5814
7.26M
    }
5815
7.26M
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
7.26M
        return reader_impl_for_wchar<CharT>{};
5817
7.26M
    }
5818
7.26M
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
7.26M
        return reader_impl_for_code_point<CharT>{};
5820
7.26M
    }
5821
7.26M
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
7.26M
                       std::is_same_v<T, std::wstring_view>) {
5823
7.26M
        return reader_impl_for_string<CharT>{};
5824
7.26M
    }
5825
7.26M
    else if constexpr (std::is_same_v<T, std::string> ||
5826
7.26M
                       std::is_same_v<T, std::wstring>) {
5827
7.26M
        return reader_impl_for_string<CharT>{};
5828
7.26M
    }
5829
7.26M
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
7.26M
                       std::is_same_v<T, wregex_matches>) {
5831
7.26M
        return reader_impl_for_regex_matches<CharT>{};
5832
7.26M
    }
5833
7.26M
    else if constexpr (std::is_same_v<T, void*>) {
5834
7.26M
        return reader_impl_for_voidptr<CharT>{};
5835
7.26M
    }
5836
7.26M
    else if constexpr (std::is_floating_point_v<T>) {
5837
7.26M
        return reader_impl_for_float<CharT>{};
5838
7.26M
    }
5839
7.26M
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
7.26M
                       !std::is_same_v<T, wchar_t> &&
5841
7.26M
                       !std::is_same_v<T, char32_t> &&
5842
7.26M
                       !std::is_same_v<T, bool>) {
5843
7.26M
        return reader_impl_for_int<CharT>{};
5844
7.26M
    }
5845
7.26M
    else {
5846
7.26M
        return reader_impl_for_monostate<CharT>{};
5847
7.26M
    }
5848
7.26M
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<std::__1::basic_string_view<char, std::__1::char_traits<char> >, wchar_t>()
auto scn::v3::impl::make_reader<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>()
Line
Count
Source
5808
3.63M
{
5809
3.63M
    if constexpr (std::is_same_v<T, bool>) {
5810
3.63M
        return reader_impl_for_bool<CharT>{};
5811
3.63M
    }
5812
3.63M
    else if constexpr (std::is_same_v<T, char>) {
5813
3.63M
        return reader_impl_for_char<CharT>{};
5814
3.63M
    }
5815
3.63M
    else if constexpr (std::is_same_v<T, wchar_t>) {
5816
3.63M
        return reader_impl_for_wchar<CharT>{};
5817
3.63M
    }
5818
3.63M
    else if constexpr (std::is_same_v<T, char32_t>) {
5819
3.63M
        return reader_impl_for_code_point<CharT>{};
5820
3.63M
    }
5821
3.63M
    else if constexpr (std::is_same_v<T, std::string_view> ||
5822
3.63M
                       std::is_same_v<T, std::wstring_view>) {
5823
3.63M
        return reader_impl_for_string<CharT>{};
5824
3.63M
    }
5825
3.63M
    else if constexpr (std::is_same_v<T, std::string> ||
5826
3.63M
                       std::is_same_v<T, std::wstring>) {
5827
3.63M
        return reader_impl_for_string<CharT>{};
5828
3.63M
    }
5829
3.63M
    else if constexpr (std::is_same_v<T, regex_matches> ||
5830
3.63M
                       std::is_same_v<T, wregex_matches>) {
5831
3.63M
        return reader_impl_for_regex_matches<CharT>{};
5832
3.63M
    }
5833
3.63M
    else if constexpr (std::is_same_v<T, void*>) {
5834
3.63M
        return reader_impl_for_voidptr<CharT>{};
5835
3.63M
    }
5836
3.63M
    else if constexpr (std::is_floating_point_v<T>) {
5837
3.63M
        return reader_impl_for_float<CharT>{};
5838
3.63M
    }
5839
3.63M
    else if constexpr (std::is_integral_v<T> && !std::is_same_v<T, char> &&
5840
3.63M
                       !std::is_same_v<T, wchar_t> &&
5841
3.63M
                       !std::is_same_v<T, char32_t> &&
5842
3.63M
                       !std::is_same_v<T, bool>) {
5843
3.63M
        return reader_impl_for_int<CharT>{};
5844
3.63M
    }
5845
3.63M
    else {
5846
3.63M
        return reader_impl_for_monostate<CharT>{};
5847
3.63M
    }
5848
3.63M
}
Unexecuted instantiation: auto scn::v3::impl::make_reader<char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<signed char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<short, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<int, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned char, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned short, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned int, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long long, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<float, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<double, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long double, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<char>, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<wchar_t>, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<wchar_t, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<signed char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<short, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<int, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned short, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned int, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<unsigned long long, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<float, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<double, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<long double, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<char>, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::basic_regex_matches<wchar_t>, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<void*, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<bool, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<wchar_t, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char32_t, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::monostate, char>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<void*, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<bool, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<char32_t, wchar_t>()
Unexecuted instantiation: auto scn::v3::impl::make_reader<scn::v3::monostate, wchar_t>()
5849
5850
template <typename Context>
5851
struct default_arg_reader {
5852
    using context_type = Context;
5853
    using char_type = typename context_type::char_type;
5854
    using args_type = typename context_type::args_type;
5855
5856
    using range_type = typename context_type::range_type;
5857
    using iterator = ranges::iterator_t<range_type>;
5858
5859
    template <typename Reader, typename Range, typename T>
5860
    auto impl(Reader& rd, Range rng, T& value)
5861
        -> scan_expected<ranges::iterator_t<Range>>
5862
9.02M
    {
5863
9.02M
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
8.98M
                        .transform_error(make_eof_scan_error));
5865
8.98M
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
9.02M
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
78.8k
    {
5863
78.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.0k
                        .transform_error(make_eof_scan_error));
5865
78.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
91.7k
    {
5863
91.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
90.7k
                        .transform_error(make_eof_scan_error));
5865
90.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
91.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
92.8k
    {
5863
92.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
91.6k
                        .transform_error(make_eof_scan_error));
5865
91.6k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
92.8k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
69.9k
    {
5863
69.9k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
69.4k
                        .transform_error(make_eof_scan_error));
5865
69.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
69.9k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
78.6k
    {
5863
78.6k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
77.9k
                        .transform_error(make_eof_scan_error));
5865
77.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.6k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
79.0k
    {
5863
79.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.2k
                        .transform_error(make_eof_scan_error));
5865
78.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
79.0k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
5862
634
    {
5863
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
634
                        .transform_error(make_eof_scan_error));
5865
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
634
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
634
    {
5863
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
634
                        .transform_error(make_eof_scan_error));
5865
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
634
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
634
    {
5863
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
634
                        .transform_error(make_eof_scan_error));
5865
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
634
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
100k
    {
5863
100k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
99.6k
                        .transform_error(make_eof_scan_error));
5865
99.6k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
100k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
106k
    {
5863
106k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
105k
                        .transform_error(make_eof_scan_error));
5865
105k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
106k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
107k
    {
5863
107k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
106k
                        .transform_error(make_eof_scan_error));
5865
106k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
107k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
5862
162k
    {
5863
162k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
160k
                        .transform_error(make_eof_scan_error));
5865
160k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
162k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
162k
    {
5863
162k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
160k
                        .transform_error(make_eof_scan_error));
5865
160k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
162k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
634
    {
5863
634
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
634
                        .transform_error(make_eof_scan_error));
5865
634
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
634
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
78.7k
    {
5863
78.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.0k
                        .transform_error(make_eof_scan_error));
5865
78.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
89.5k
    {
5863
89.5k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
88.4k
                        .transform_error(make_eof_scan_error));
5865
88.4k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
89.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
91.0k
    {
5863
91.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
89.9k
                        .transform_error(make_eof_scan_error));
5865
89.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
91.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
69.8k
    {
5863
69.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
69.3k
                        .transform_error(make_eof_scan_error));
5865
69.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
69.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
77.8k
    {
5863
77.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
77.1k
                        .transform_error(make_eof_scan_error));
5865
77.1k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
77.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
78.8k
    {
5863
78.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
78.0k
                        .transform_error(make_eof_scan_error));
5865
78.0k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
78.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
106k
    {
5863
106k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
105k
                        .transform_error(make_eof_scan_error));
5865
105k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
106k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
112k
    {
5863
112k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
110k
                        .transform_error(make_eof_scan_error));
5865
110k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
112k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
113k
    {
5863
113k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
111k
                        .transform_error(make_eof_scan_error));
5865
111k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
113k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
5862
182k
    {
5863
182k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
180k
                        .transform_error(make_eof_scan_error));
5865
180k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
182k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIcSC_NS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENSA_IwNSB_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIwNSB_IwEENS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
22.0k
    {
5863
22.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
21.9k
                        .transform_error(make_eof_scan_error));
5865
21.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
22.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.7k
    {
5863
11.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
22.0k
    {
5863
22.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
21.9k
                        .transform_error(make_eof_scan_error));
5865
21.9k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
22.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
5862
10.2k
    {
5863
10.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
10.2k
                        .transform_error(make_eof_scan_error));
5865
10.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
10.2k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
10.2k
    {
5863
10.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
10.2k
                        .transform_error(make_eof_scan_error));
5865
10.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
10.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
10.2k
    {
5863
10.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
10.2k
                        .transform_error(make_eof_scan_error));
5865
10.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
10.2k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
26.8k
    {
5863
26.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
26.6k
                        .transform_error(make_eof_scan_error));
5865
26.6k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
26.8k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
37.8k
    {
5863
37.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
37.5k
                        .transform_error(make_eof_scan_error));
5865
37.5k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
37.8k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
5862
28.1k
    {
5863
28.1k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
27.8k
                        .transform_error(make_eof_scan_error));
5865
27.8k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
28.1k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
10.2k
    {
5863
10.2k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
10.2k
                        .transform_error(make_eof_scan_error));
5865
10.2k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
10.2k
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
5862
2.17M
    {
5863
2.17M
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
2.17M
                        .transform_error(make_eof_scan_error));
5865
2.17M
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
2.17M
    }
_ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
5862
2.17M
    {
5863
2.17M
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
2.17M
                        .transform_error(make_eof_scan_error));
5865
2.17M
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
2.17M
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.7k
    {
5863
11.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
11.8k
    {
5863
11.8k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
11.7k
                        .transform_error(make_eof_scan_error));
5865
11.7k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
11.8k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
26.7k
    {
5863
26.7k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
26.5k
                        .transform_error(make_eof_scan_error));
5865
26.5k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
26.7k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
27.5k
    {
5863
27.5k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
27.3k
                        .transform_error(make_eof_scan_error));
5865
27.3k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
27.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
5862
28.0k
    {
5863
28.0k
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
27.8k
                        .transform_error(make_eof_scan_error));
5865
27.8k
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
28.0k
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENSA_IcNSB_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIcNSB_IcEENS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
5862
2.16M
    {
5863
2.16M
        SCN_TRY(it, skip_ws_before_if_required(rd.skip_ws_before_read(), rng)
5864
2.16M
                        .transform_error(make_eof_scan_error));
5865
2.16M
        return rd.read_default(ranges::subrange{it, rng.end()}, value, loc);
5866
2.16M
    }
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIwSC_NS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl18default_arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
5867
5868
    template <typename T>
5869
    scan_expected<iterator> operator()(T& value)
5870
9.02M
    {
5871
9.02M
        if constexpr (!detail::is_type_disabled<T> &&
5872
9.02M
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
3.31M
            auto rd = make_reader<T, char_type>();
5876
3.31M
            return impl(rd, range, value);
5877
3.31M
        }
5878
3.31M
        else if constexpr (!detail::is_type_disabled<T>) {
5879
3.31M
            auto rd = make_reader<T, char_type>();
5880
3.31M
            if (!is_segment_contiguous(range)) {
5881
3.31M
                return impl(rd, range, value);
5882
3.31M
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
9.02M
        else {
5889
9.02M
            SCN_EXPECT(false);
5890
9.02M
            SCN_UNREACHABLE;
5891
9.02M
        }
5892
9.02M
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
78.8k
    {
5871
78.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
78.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
78.8k
            auto rd = make_reader<T, char_type>();
5876
78.8k
            return impl(rd, range, value);
5877
78.8k
        }
5878
78.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.8k
            auto rd = make_reader<T, char_type>();
5880
78.8k
            if (!is_segment_contiguous(range)) {
5881
78.8k
                return impl(rd, range, value);
5882
78.8k
            }
5883
78.8k
            auto crange = get_as_contiguous(range);
5884
78.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
78.8k
            return ranges::next(range.begin(),
5886
78.8k
                                ranges::distance(crange.begin(), it));
5887
78.8k
        }
5888
78.8k
        else {
5889
78.8k
            SCN_EXPECT(false);
5890
78.8k
            SCN_UNREACHABLE;
5891
78.8k
        }
5892
78.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
5870
91.7k
    {
5871
91.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
91.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
91.7k
                          basic_contiguous_scan_context<char_type>>) {
5875
91.7k
            auto rd = make_reader<T, char_type>();
5876
91.7k
            return impl(rd, range, value);
5877
91.7k
        }
5878
91.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
91.7k
            auto rd = make_reader<T, char_type>();
5880
91.7k
            if (!is_segment_contiguous(range)) {
5881
91.7k
                return impl(rd, range, value);
5882
91.7k
            }
5883
91.7k
            auto crange = get_as_contiguous(range);
5884
91.7k
            SCN_TRY(it, impl(rd, crange, value));
5885
91.7k
            return ranges::next(range.begin(),
5886
91.7k
                                ranges::distance(crange.begin(), it));
5887
91.7k
        }
5888
91.7k
        else {
5889
91.7k
            SCN_EXPECT(false);
5890
91.7k
            SCN_UNREACHABLE;
5891
91.7k
        }
5892
91.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
5870
92.8k
    {
5871
92.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
92.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
92.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
92.8k
            auto rd = make_reader<T, char_type>();
5876
92.8k
            return impl(rd, range, value);
5877
92.8k
        }
5878
92.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
92.8k
            auto rd = make_reader<T, char_type>();
5880
92.8k
            if (!is_segment_contiguous(range)) {
5881
92.8k
                return impl(rd, range, value);
5882
92.8k
            }
5883
92.8k
            auto crange = get_as_contiguous(range);
5884
92.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
92.8k
            return ranges::next(range.begin(),
5886
92.8k
                                ranges::distance(crange.begin(), it));
5887
92.8k
        }
5888
92.8k
        else {
5889
92.8k
            SCN_EXPECT(false);
5890
92.8k
            SCN_UNREACHABLE;
5891
92.8k
        }
5892
92.8k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
69.9k
    {
5871
69.9k
        if constexpr (!detail::is_type_disabled<T> &&
5872
69.9k
                      std::is_same_v<
5873
0
                          context_type,
5874
69.9k
                          basic_contiguous_scan_context<char_type>>) {
5875
69.9k
            auto rd = make_reader<T, char_type>();
5876
69.9k
            return impl(rd, range, value);
5877
69.9k
        }
5878
69.9k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
69.9k
            auto rd = make_reader<T, char_type>();
5880
69.9k
            if (!is_segment_contiguous(range)) {
5881
69.9k
                return impl(rd, range, value);
5882
69.9k
            }
5883
69.9k
            auto crange = get_as_contiguous(range);
5884
69.9k
            SCN_TRY(it, impl(rd, crange, value));
5885
69.9k
            return ranges::next(range.begin(),
5886
69.9k
                                ranges::distance(crange.begin(), it));
5887
69.9k
        }
5888
69.9k
        else {
5889
69.9k
            SCN_EXPECT(false);
5890
69.9k
            SCN_UNREACHABLE;
5891
69.9k
        }
5892
69.9k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
78.6k
    {
5871
78.6k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.6k
                      std::is_same_v<
5873
0
                          context_type,
5874
78.6k
                          basic_contiguous_scan_context<char_type>>) {
5875
78.6k
            auto rd = make_reader<T, char_type>();
5876
78.6k
            return impl(rd, range, value);
5877
78.6k
        }
5878
78.6k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.6k
            auto rd = make_reader<T, char_type>();
5880
78.6k
            if (!is_segment_contiguous(range)) {
5881
78.6k
                return impl(rd, range, value);
5882
78.6k
            }
5883
78.6k
            auto crange = get_as_contiguous(range);
5884
78.6k
            SCN_TRY(it, impl(rd, crange, value));
5885
78.6k
            return ranges::next(range.begin(),
5886
78.6k
                                ranges::distance(crange.begin(), it));
5887
78.6k
        }
5888
78.6k
        else {
5889
78.6k
            SCN_EXPECT(false);
5890
78.6k
            SCN_UNREACHABLE;
5891
78.6k
        }
5892
78.6k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
79.0k
    {
5871
79.0k
        if constexpr (!detail::is_type_disabled<T> &&
5872
79.0k
                      std::is_same_v<
5873
0
                          context_type,
5874
79.0k
                          basic_contiguous_scan_context<char_type>>) {
5875
79.0k
            auto rd = make_reader<T, char_type>();
5876
79.0k
            return impl(rd, range, value);
5877
79.0k
        }
5878
79.0k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
79.0k
            auto rd = make_reader<T, char_type>();
5880
79.0k
            if (!is_segment_contiguous(range)) {
5881
79.0k
                return impl(rd, range, value);
5882
79.0k
            }
5883
79.0k
            auto crange = get_as_contiguous(range);
5884
79.0k
            SCN_TRY(it, impl(rd, crange, value));
5885
79.0k
            return ranges::next(range.begin(),
5886
79.0k
                                ranges::distance(crange.begin(), it));
5887
79.0k
        }
5888
79.0k
        else {
5889
79.0k
            SCN_EXPECT(false);
5890
79.0k
            SCN_UNREACHABLE;
5891
79.0k
        }
5892
79.0k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<void*>(void*&)
Line
Count
Source
5870
634
    {
5871
634
        if constexpr (!detail::is_type_disabled<T> &&
5872
634
                      std::is_same_v<
5873
0
                          context_type,
5874
634
                          basic_contiguous_scan_context<char_type>>) {
5875
634
            auto rd = make_reader<T, char_type>();
5876
634
            return impl(rd, range, value);
5877
634
        }
5878
634
        else if constexpr (!detail::is_type_disabled<T>) {
5879
634
            auto rd = make_reader<T, char_type>();
5880
634
            if (!is_segment_contiguous(range)) {
5881
634
                return impl(rd, range, value);
5882
634
            }
5883
634
            auto crange = get_as_contiguous(range);
5884
634
            SCN_TRY(it, impl(rd, crange, value));
5885
634
            return ranges::next(range.begin(),
5886
634
                                ranges::distance(crange.begin(), it));
5887
634
        }
5888
634
        else {
5889
634
            SCN_EXPECT(false);
5890
634
            SCN_UNREACHABLE;
5891
634
        }
5892
634
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<bool>(bool&)
Line
Count
Source
5870
634
    {
5871
634
        if constexpr (!detail::is_type_disabled<T> &&
5872
634
                      std::is_same_v<
5873
0
                          context_type,
5874
634
                          basic_contiguous_scan_context<char_type>>) {
5875
634
            auto rd = make_reader<T, char_type>();
5876
634
            return impl(rd, range, value);
5877
634
        }
5878
634
        else if constexpr (!detail::is_type_disabled<T>) {
5879
634
            auto rd = make_reader<T, char_type>();
5880
634
            if (!is_segment_contiguous(range)) {
5881
634
                return impl(rd, range, value);
5882
634
            }
5883
634
            auto crange = get_as_contiguous(range);
5884
634
            SCN_TRY(it, impl(rd, crange, value));
5885
634
            return ranges::next(range.begin(),
5886
634
                                ranges::distance(crange.begin(), it));
5887
634
        }
5888
634
        else {
5889
634
            SCN_EXPECT(false);
5890
634
            SCN_UNREACHABLE;
5891
634
        }
5892
634
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char>(char&)
Line
Count
Source
5870
634
    {
5871
634
        if constexpr (!detail::is_type_disabled<T> &&
5872
634
                      std::is_same_v<
5873
0
                          context_type,
5874
634
                          basic_contiguous_scan_context<char_type>>) {
5875
634
            auto rd = make_reader<T, char_type>();
5876
634
            return impl(rd, range, value);
5877
634
        }
5878
634
        else if constexpr (!detail::is_type_disabled<T>) {
5879
634
            auto rd = make_reader<T, char_type>();
5880
634
            if (!is_segment_contiguous(range)) {
5881
634
                return impl(rd, range, value);
5882
634
            }
5883
634
            auto crange = get_as_contiguous(range);
5884
634
            SCN_TRY(it, impl(rd, crange, value));
5885
634
            return ranges::next(range.begin(),
5886
634
                                ranges::distance(crange.begin(), it));
5887
634
        }
5888
634
        else {
5889
634
            SCN_EXPECT(false);
5890
634
            SCN_UNREACHABLE;
5891
634
        }
5892
634
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
5870
100k
    {
5871
100k
        if constexpr (!detail::is_type_disabled<T> &&
5872
100k
                      std::is_same_v<
5873
0
                          context_type,
5874
100k
                          basic_contiguous_scan_context<char_type>>) {
5875
100k
            auto rd = make_reader<T, char_type>();
5876
100k
            return impl(rd, range, value);
5877
100k
        }
5878
100k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
100k
            auto rd = make_reader<T, char_type>();
5880
100k
            if (!is_segment_contiguous(range)) {
5881
100k
                return impl(rd, range, value);
5882
100k
            }
5883
100k
            auto crange = get_as_contiguous(range);
5884
100k
            SCN_TRY(it, impl(rd, crange, value));
5885
100k
            return ranges::next(range.begin(),
5886
100k
                                ranges::distance(crange.begin(), it));
5887
100k
        }
5888
100k
        else {
5889
100k
            SCN_EXPECT(false);
5890
100k
            SCN_UNREACHABLE;
5891
100k
        }
5892
100k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
5870
106k
    {
5871
106k
        if constexpr (!detail::is_type_disabled<T> &&
5872
106k
                      std::is_same_v<
5873
0
                          context_type,
5874
106k
                          basic_contiguous_scan_context<char_type>>) {
5875
106k
            auto rd = make_reader<T, char_type>();
5876
106k
            return impl(rd, range, value);
5877
106k
        }
5878
106k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
106k
            auto rd = make_reader<T, char_type>();
5880
106k
            if (!is_segment_contiguous(range)) {
5881
106k
                return impl(rd, range, value);
5882
106k
            }
5883
106k
            auto crange = get_as_contiguous(range);
5884
106k
            SCN_TRY(it, impl(rd, crange, value));
5885
106k
            return ranges::next(range.begin(),
5886
106k
                                ranges::distance(crange.begin(), it));
5887
106k
        }
5888
106k
        else {
5889
106k
            SCN_EXPECT(false);
5890
106k
            SCN_UNREACHABLE;
5891
106k
        }
5892
106k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
5870
107k
    {
5871
107k
        if constexpr (!detail::is_type_disabled<T> &&
5872
107k
                      std::is_same_v<
5873
0
                          context_type,
5874
107k
                          basic_contiguous_scan_context<char_type>>) {
5875
107k
            auto rd = make_reader<T, char_type>();
5876
107k
            return impl(rd, range, value);
5877
107k
        }
5878
107k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
107k
            auto rd = make_reader<T, char_type>();
5880
107k
            if (!is_segment_contiguous(range)) {
5881
107k
                return impl(rd, range, value);
5882
107k
            }
5883
107k
            auto crange = get_as_contiguous(range);
5884
107k
            SCN_TRY(it, impl(rd, crange, value));
5885
107k
            return ranges::next(range.begin(),
5886
107k
                                ranges::distance(crange.begin(), it));
5887
107k
        }
5888
107k
        else {
5889
107k
            SCN_EXPECT(false);
5890
107k
            SCN_UNREACHABLE;
5891
107k
        }
5892
107k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5870
162k
    {
5871
162k
        if constexpr (!detail::is_type_disabled<T> &&
5872
162k
                      std::is_same_v<
5873
0
                          context_type,
5874
162k
                          basic_contiguous_scan_context<char_type>>) {
5875
162k
            auto rd = make_reader<T, char_type>();
5876
162k
            return impl(rd, range, value);
5877
162k
        }
5878
162k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
162k
            auto rd = make_reader<T, char_type>();
5880
162k
            if (!is_segment_contiguous(range)) {
5881
162k
                return impl(rd, range, value);
5882
162k
            }
5883
162k
            auto crange = get_as_contiguous(range);
5884
162k
            SCN_TRY(it, impl(rd, crange, value));
5885
162k
            return ranges::next(range.begin(),
5886
162k
                                ranges::distance(crange.begin(), it));
5887
162k
        }
5888
162k
        else {
5889
162k
            SCN_EXPECT(false);
5890
162k
            SCN_UNREACHABLE;
5891
162k
        }
5892
162k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5870
162k
    {
5871
162k
        if constexpr (!detail::is_type_disabled<T> &&
5872
162k
                      std::is_same_v<
5873
0
                          context_type,
5874
162k
                          basic_contiguous_scan_context<char_type>>) {
5875
162k
            auto rd = make_reader<T, char_type>();
5876
162k
            return impl(rd, range, value);
5877
162k
        }
5878
162k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
162k
            auto rd = make_reader<T, char_type>();
5880
162k
            if (!is_segment_contiguous(range)) {
5881
162k
                return impl(rd, range, value);
5882
162k
            }
5883
162k
            auto crange = get_as_contiguous(range);
5884
162k
            SCN_TRY(it, impl(rd, crange, value));
5885
162k
            return ranges::next(range.begin(),
5886
162k
                                ranges::distance(crange.begin(), it));
5887
162k
        }
5888
162k
        else {
5889
162k
            SCN_EXPECT(false);
5890
162k
            SCN_UNREACHABLE;
5891
162k
        }
5892
162k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5870
634
    {
5871
634
        if constexpr (!detail::is_type_disabled<T> &&
5872
634
                      std::is_same_v<
5873
0
                          context_type,
5874
634
                          basic_contiguous_scan_context<char_type>>) {
5875
634
            auto rd = make_reader<T, char_type>();
5876
634
            return impl(rd, range, value);
5877
634
        }
5878
634
        else if constexpr (!detail::is_type_disabled<T>) {
5879
634
            auto rd = make_reader<T, char_type>();
5880
634
            if (!is_segment_contiguous(range)) {
5881
634
                return impl(rd, range, value);
5882
634
            }
5883
634
            auto crange = get_as_contiguous(range);
5884
634
            SCN_TRY(it, impl(rd, crange, value));
5885
634
            return ranges::next(range.begin(),
5886
634
                                ranges::distance(crange.begin(), it));
5887
634
        }
5888
634
        else {
5889
634
            SCN_EXPECT(false);
5890
634
            SCN_UNREACHABLE;
5891
634
        }
5892
634
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
78.7k
    {
5871
78.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
78.7k
            auto rd = make_reader<T, char_type>();
5876
78.7k
            return impl(rd, range, value);
5877
78.7k
        }
5878
78.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.7k
            auto rd = make_reader<T, char_type>();
5880
78.7k
            if (!is_segment_contiguous(range)) {
5881
78.7k
                return impl(rd, range, value);
5882
78.7k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
78.7k
        else {
5889
78.7k
            SCN_EXPECT(false);
5890
78.7k
            SCN_UNREACHABLE;
5891
78.7k
        }
5892
78.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
5870
89.5k
    {
5871
89.5k
        if constexpr (!detail::is_type_disabled<T> &&
5872
89.5k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
89.5k
            auto rd = make_reader<T, char_type>();
5876
89.5k
            return impl(rd, range, value);
5877
89.5k
        }
5878
89.5k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
89.5k
            auto rd = make_reader<T, char_type>();
5880
89.5k
            if (!is_segment_contiguous(range)) {
5881
89.5k
                return impl(rd, range, value);
5882
89.5k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
89.5k
        else {
5889
89.5k
            SCN_EXPECT(false);
5890
89.5k
            SCN_UNREACHABLE;
5891
89.5k
        }
5892
89.5k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
5870
91.0k
    {
5871
91.0k
        if constexpr (!detail::is_type_disabled<T> &&
5872
91.0k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
91.0k
            auto rd = make_reader<T, char_type>();
5876
91.0k
            return impl(rd, range, value);
5877
91.0k
        }
5878
91.0k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
91.0k
            auto rd = make_reader<T, char_type>();
5880
91.0k
            if (!is_segment_contiguous(range)) {
5881
91.0k
                return impl(rd, range, value);
5882
91.0k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
91.0k
        else {
5889
91.0k
            SCN_EXPECT(false);
5890
91.0k
            SCN_UNREACHABLE;
5891
91.0k
        }
5892
91.0k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
69.8k
    {
5871
69.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
69.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
69.8k
            auto rd = make_reader<T, char_type>();
5876
69.8k
            return impl(rd, range, value);
5877
69.8k
        }
5878
69.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
69.8k
            auto rd = make_reader<T, char_type>();
5880
69.8k
            if (!is_segment_contiguous(range)) {
5881
69.8k
                return impl(rd, range, value);
5882
69.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
69.8k
        else {
5889
69.8k
            SCN_EXPECT(false);
5890
69.8k
            SCN_UNREACHABLE;
5891
69.8k
        }
5892
69.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
77.8k
    {
5871
77.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
77.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
77.8k
            auto rd = make_reader<T, char_type>();
5876
77.8k
            return impl(rd, range, value);
5877
77.8k
        }
5878
77.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
77.8k
            auto rd = make_reader<T, char_type>();
5880
77.8k
            if (!is_segment_contiguous(range)) {
5881
77.8k
                return impl(rd, range, value);
5882
77.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
77.8k
        else {
5889
77.8k
            SCN_EXPECT(false);
5890
77.8k
            SCN_UNREACHABLE;
5891
77.8k
        }
5892
77.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
78.8k
    {
5871
78.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
78.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
78.8k
            auto rd = make_reader<T, char_type>();
5876
78.8k
            return impl(rd, range, value);
5877
78.8k
        }
5878
78.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
78.8k
            auto rd = make_reader<T, char_type>();
5880
78.8k
            if (!is_segment_contiguous(range)) {
5881
78.8k
                return impl(rd, range, value);
5882
78.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
78.8k
        else {
5889
78.8k
            SCN_EXPECT(false);
5890
78.8k
            SCN_UNREACHABLE;
5891
78.8k
        }
5892
78.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
5870
106k
    {
5871
106k
        if constexpr (!detail::is_type_disabled<T> &&
5872
106k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
106k
            auto rd = make_reader<T, char_type>();
5876
106k
            return impl(rd, range, value);
5877
106k
        }
5878
106k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
106k
            auto rd = make_reader<T, char_type>();
5880
106k
            if (!is_segment_contiguous(range)) {
5881
106k
                return impl(rd, range, value);
5882
106k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
106k
        else {
5889
106k
            SCN_EXPECT(false);
5890
106k
            SCN_UNREACHABLE;
5891
106k
        }
5892
106k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
5870
112k
    {
5871
112k
        if constexpr (!detail::is_type_disabled<T> &&
5872
112k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
112k
            auto rd = make_reader<T, char_type>();
5876
112k
            return impl(rd, range, value);
5877
112k
        }
5878
112k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
112k
            auto rd = make_reader<T, char_type>();
5880
112k
            if (!is_segment_contiguous(range)) {
5881
112k
                return impl(rd, range, value);
5882
112k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
112k
        else {
5889
112k
            SCN_EXPECT(false);
5890
112k
            SCN_UNREACHABLE;
5891
112k
        }
5892
112k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
5870
113k
    {
5871
113k
        if constexpr (!detail::is_type_disabled<T> &&
5872
113k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
113k
            auto rd = make_reader<T, char_type>();
5876
113k
            return impl(rd, range, value);
5877
113k
        }
5878
113k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
113k
            auto rd = make_reader<T, char_type>();
5880
113k
            if (!is_segment_contiguous(range)) {
5881
113k
                return impl(rd, range, value);
5882
113k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
113k
        else {
5889
113k
            SCN_EXPECT(false);
5890
113k
            SCN_UNREACHABLE;
5891
113k
        }
5892
113k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5870
182k
    {
5871
182k
        if constexpr (!detail::is_type_disabled<T> &&
5872
182k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
182k
            auto rd = make_reader<T, char_type>();
5876
182k
            return impl(rd, range, value);
5877
182k
        }
5878
182k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
182k
            auto rd = make_reader<T, char_type>();
5880
182k
            if (!is_segment_contiguous(range)) {
5881
182k
                return impl(rd, range, value);
5882
182k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
182k
        else {
5889
182k
            SCN_EXPECT(false);
5890
182k
            SCN_UNREACHABLE;
5891
182k
        }
5892
182k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
11.8k
            auto crange = get_as_contiguous(range);
5884
11.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.8k
            return ranges::next(range.begin(),
5886
11.8k
                                ranges::distance(crange.begin(), it));
5887
11.8k
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
5870
22.0k
    {
5871
22.0k
        if constexpr (!detail::is_type_disabled<T> &&
5872
22.0k
                      std::is_same_v<
5873
0
                          context_type,
5874
22.0k
                          basic_contiguous_scan_context<char_type>>) {
5875
22.0k
            auto rd = make_reader<T, char_type>();
5876
22.0k
            return impl(rd, range, value);
5877
22.0k
        }
5878
22.0k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
22.0k
            auto rd = make_reader<T, char_type>();
5880
22.0k
            if (!is_segment_contiguous(range)) {
5881
22.0k
                return impl(rd, range, value);
5882
22.0k
            }
5883
22.0k
            auto crange = get_as_contiguous(range);
5884
22.0k
            SCN_TRY(it, impl(rd, crange, value));
5885
22.0k
            return ranges::next(range.begin(),
5886
22.0k
                                ranges::distance(crange.begin(), it));
5887
22.0k
        }
5888
22.0k
        else {
5889
22.0k
            SCN_EXPECT(false);
5890
22.0k
            SCN_UNREACHABLE;
5891
22.0k
        }
5892
22.0k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
11.8k
            auto crange = get_as_contiguous(range);
5884
11.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.8k
            return ranges::next(range.begin(),
5886
11.8k
                                ranges::distance(crange.begin(), it));
5887
11.8k
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
11.7k
    {
5871
11.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.7k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.7k
            auto rd = make_reader<T, char_type>();
5876
11.7k
            return impl(rd, range, value);
5877
11.7k
        }
5878
11.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.7k
            auto rd = make_reader<T, char_type>();
5880
11.7k
            if (!is_segment_contiguous(range)) {
5881
11.7k
                return impl(rd, range, value);
5882
11.7k
            }
5883
11.7k
            auto crange = get_as_contiguous(range);
5884
11.7k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.7k
            return ranges::next(range.begin(),
5886
11.7k
                                ranges::distance(crange.begin(), it));
5887
11.7k
        }
5888
11.7k
        else {
5889
11.7k
            SCN_EXPECT(false);
5890
11.7k
            SCN_UNREACHABLE;
5891
11.7k
        }
5892
11.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
22.0k
    {
5871
22.0k
        if constexpr (!detail::is_type_disabled<T> &&
5872
22.0k
                      std::is_same_v<
5873
0
                          context_type,
5874
22.0k
                          basic_contiguous_scan_context<char_type>>) {
5875
22.0k
            auto rd = make_reader<T, char_type>();
5876
22.0k
            return impl(rd, range, value);
5877
22.0k
        }
5878
22.0k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
22.0k
            auto rd = make_reader<T, char_type>();
5880
22.0k
            if (!is_segment_contiguous(range)) {
5881
22.0k
                return impl(rd, range, value);
5882
22.0k
            }
5883
22.0k
            auto crange = get_as_contiguous(range);
5884
22.0k
            SCN_TRY(it, impl(rd, crange, value));
5885
22.0k
            return ranges::next(range.begin(),
5886
22.0k
                                ranges::distance(crange.begin(), it));
5887
22.0k
        }
5888
22.0k
        else {
5889
22.0k
            SCN_EXPECT(false);
5890
22.0k
            SCN_UNREACHABLE;
5891
22.0k
        }
5892
22.0k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
11.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
11.8k
            auto crange = get_as_contiguous(range);
5884
11.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
11.8k
            return ranges::next(range.begin(),
5886
11.8k
                                ranges::distance(crange.begin(), it));
5887
11.8k
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
5870
10.2k
    {
5871
10.2k
        if constexpr (!detail::is_type_disabled<T> &&
5872
10.2k
                      std::is_same_v<
5873
0
                          context_type,
5874
10.2k
                          basic_contiguous_scan_context<char_type>>) {
5875
10.2k
            auto rd = make_reader<T, char_type>();
5876
10.2k
            return impl(rd, range, value);
5877
10.2k
        }
5878
10.2k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
10.2k
            auto rd = make_reader<T, char_type>();
5880
10.2k
            if (!is_segment_contiguous(range)) {
5881
10.2k
                return impl(rd, range, value);
5882
10.2k
            }
5883
10.2k
            auto crange = get_as_contiguous(range);
5884
10.2k
            SCN_TRY(it, impl(rd, crange, value));
5885
10.2k
            return ranges::next(range.begin(),
5886
10.2k
                                ranges::distance(crange.begin(), it));
5887
10.2k
        }
5888
10.2k
        else {
5889
10.2k
            SCN_EXPECT(false);
5890
10.2k
            SCN_UNREACHABLE;
5891
10.2k
        }
5892
10.2k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
5870
10.2k
    {
5871
10.2k
        if constexpr (!detail::is_type_disabled<T> &&
5872
10.2k
                      std::is_same_v<
5873
0
                          context_type,
5874
10.2k
                          basic_contiguous_scan_context<char_type>>) {
5875
10.2k
            auto rd = make_reader<T, char_type>();
5876
10.2k
            return impl(rd, range, value);
5877
10.2k
        }
5878
10.2k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
10.2k
            auto rd = make_reader<T, char_type>();
5880
10.2k
            if (!is_segment_contiguous(range)) {
5881
10.2k
                return impl(rd, range, value);
5882
10.2k
            }
5883
10.2k
            auto crange = get_as_contiguous(range);
5884
10.2k
            SCN_TRY(it, impl(rd, crange, value));
5885
10.2k
            return ranges::next(range.begin(),
5886
10.2k
                                ranges::distance(crange.begin(), it));
5887
10.2k
        }
5888
10.2k
        else {
5889
10.2k
            SCN_EXPECT(false);
5890
10.2k
            SCN_UNREACHABLE;
5891
10.2k
        }
5892
10.2k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char>(char&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
5870
10.2k
    {
5871
10.2k
        if constexpr (!detail::is_type_disabled<T> &&
5872
10.2k
                      std::is_same_v<
5873
0
                          context_type,
5874
10.2k
                          basic_contiguous_scan_context<char_type>>) {
5875
10.2k
            auto rd = make_reader<T, char_type>();
5876
10.2k
            return impl(rd, range, value);
5877
10.2k
        }
5878
10.2k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
10.2k
            auto rd = make_reader<T, char_type>();
5880
10.2k
            if (!is_segment_contiguous(range)) {
5881
10.2k
                return impl(rd, range, value);
5882
10.2k
            }
5883
10.2k
            auto crange = get_as_contiguous(range);
5884
10.2k
            SCN_TRY(it, impl(rd, crange, value));
5885
10.2k
            return ranges::next(range.begin(),
5886
10.2k
                                ranges::distance(crange.begin(), it));
5887
10.2k
        }
5888
10.2k
        else {
5889
10.2k
            SCN_EXPECT(false);
5890
10.2k
            SCN_UNREACHABLE;
5891
10.2k
        }
5892
10.2k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
5870
26.8k
    {
5871
26.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
26.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
26.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
26.8k
            auto rd = make_reader<T, char_type>();
5876
26.8k
            return impl(rd, range, value);
5877
26.8k
        }
5878
26.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
26.8k
            auto rd = make_reader<T, char_type>();
5880
26.8k
            if (!is_segment_contiguous(range)) {
5881
26.8k
                return impl(rd, range, value);
5882
26.8k
            }
5883
26.8k
            auto crange = get_as_contiguous(range);
5884
26.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
26.8k
            return ranges::next(range.begin(),
5886
26.8k
                                ranges::distance(crange.begin(), it));
5887
26.8k
        }
5888
26.8k
        else {
5889
26.8k
            SCN_EXPECT(false);
5890
26.8k
            SCN_UNREACHABLE;
5891
26.8k
        }
5892
26.8k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
5870
37.8k
    {
5871
37.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
37.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
37.8k
                          basic_contiguous_scan_context<char_type>>) {
5875
37.8k
            auto rd = make_reader<T, char_type>();
5876
37.8k
            return impl(rd, range, value);
5877
37.8k
        }
5878
37.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
37.8k
            auto rd = make_reader<T, char_type>();
5880
37.8k
            if (!is_segment_contiguous(range)) {
5881
37.8k
                return impl(rd, range, value);
5882
37.8k
            }
5883
37.8k
            auto crange = get_as_contiguous(range);
5884
37.8k
            SCN_TRY(it, impl(rd, crange, value));
5885
37.8k
            return ranges::next(range.begin(),
5886
37.8k
                                ranges::distance(crange.begin(), it));
5887
37.8k
        }
5888
37.8k
        else {
5889
37.8k
            SCN_EXPECT(false);
5890
37.8k
            SCN_UNREACHABLE;
5891
37.8k
        }
5892
37.8k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
5870
28.1k
    {
5871
28.1k
        if constexpr (!detail::is_type_disabled<T> &&
5872
28.1k
                      std::is_same_v<
5873
0
                          context_type,
5874
28.1k
                          basic_contiguous_scan_context<char_type>>) {
5875
28.1k
            auto rd = make_reader<T, char_type>();
5876
28.1k
            return impl(rd, range, value);
5877
28.1k
        }
5878
28.1k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
28.1k
            auto rd = make_reader<T, char_type>();
5880
28.1k
            if (!is_segment_contiguous(range)) {
5881
28.1k
                return impl(rd, range, value);
5882
28.1k
            }
5883
28.1k
            auto crange = get_as_contiguous(range);
5884
28.1k
            SCN_TRY(it, impl(rd, crange, value));
5885
28.1k
            return ranges::next(range.begin(),
5886
28.1k
                                ranges::distance(crange.begin(), it));
5887
28.1k
        }
5888
28.1k
        else {
5889
28.1k
            SCN_EXPECT(false);
5890
28.1k
            SCN_UNREACHABLE;
5891
28.1k
        }
5892
28.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5870
10.2k
    {
5871
10.2k
        if constexpr (!detail::is_type_disabled<T> &&
5872
10.2k
                      std::is_same_v<
5873
0
                          context_type,
5874
10.2k
                          basic_contiguous_scan_context<char_type>>) {
5875
10.2k
            auto rd = make_reader<T, char_type>();
5876
10.2k
            return impl(rd, range, value);
5877
10.2k
        }
5878
10.2k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
10.2k
            auto rd = make_reader<T, char_type>();
5880
10.2k
            if (!is_segment_contiguous(range)) {
5881
10.2k
                return impl(rd, range, value);
5882
10.2k
            }
5883
10.2k
            auto crange = get_as_contiguous(range);
5884
10.2k
            SCN_TRY(it, impl(rd, crange, value));
5885
10.2k
            return ranges::next(range.begin(),
5886
10.2k
                                ranges::distance(crange.begin(), it));
5887
10.2k
        }
5888
10.2k
        else {
5889
10.2k
            SCN_EXPECT(false);
5890
10.2k
            SCN_UNREACHABLE;
5891
10.2k
        }
5892
10.2k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5870
2.17M
    {
5871
2.17M
        if constexpr (!detail::is_type_disabled<T> &&
5872
2.17M
                      std::is_same_v<
5873
0
                          context_type,
5874
2.17M
                          basic_contiguous_scan_context<char_type>>) {
5875
2.17M
            auto rd = make_reader<T, char_type>();
5876
2.17M
            return impl(rd, range, value);
5877
2.17M
        }
5878
2.17M
        else if constexpr (!detail::is_type_disabled<T>) {
5879
2.17M
            auto rd = make_reader<T, char_type>();
5880
2.17M
            if (!is_segment_contiguous(range)) {
5881
2.17M
                return impl(rd, range, value);
5882
2.17M
            }
5883
2.17M
            auto crange = get_as_contiguous(range);
5884
2.17M
            SCN_TRY(it, impl(rd, crange, value));
5885
2.17M
            return ranges::next(range.begin(),
5886
2.17M
                                ranges::distance(crange.begin(), it));
5887
2.17M
        }
5888
2.17M
        else {
5889
2.17M
            SCN_EXPECT(false);
5890
2.17M
            SCN_UNREACHABLE;
5891
2.17M
        }
5892
2.17M
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5870
2.17M
    {
5871
2.17M
        if constexpr (!detail::is_type_disabled<T> &&
5872
2.17M
                      std::is_same_v<
5873
0
                          context_type,
5874
2.17M
                          basic_contiguous_scan_context<char_type>>) {
5875
2.17M
            auto rd = make_reader<T, char_type>();
5876
2.17M
            return impl(rd, range, value);
5877
2.17M
        }
5878
2.17M
        else if constexpr (!detail::is_type_disabled<T>) {
5879
2.17M
            auto rd = make_reader<T, char_type>();
5880
2.17M
            if (!is_segment_contiguous(range)) {
5881
2.17M
                return impl(rd, range, value);
5882
2.17M
            }
5883
2.17M
            auto crange = get_as_contiguous(range);
5884
2.17M
            SCN_TRY(it, impl(rd, crange, value));
5885
2.17M
            return ranges::next(range.begin(),
5886
2.17M
                                ranges::distance(crange.begin(), it));
5887
2.17M
        }
5888
2.17M
        else {
5889
2.17M
            SCN_EXPECT(false);
5890
2.17M
            SCN_UNREACHABLE;
5891
2.17M
        }
5892
2.17M
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
5870
11.7k
    {
5871
11.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.7k
            auto rd = make_reader<T, char_type>();
5876
11.7k
            return impl(rd, range, value);
5877
11.7k
        }
5878
11.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.7k
            auto rd = make_reader<T, char_type>();
5880
11.7k
            if (!is_segment_contiguous(range)) {
5881
11.7k
                return impl(rd, range, value);
5882
11.7k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.7k
        else {
5889
11.7k
            SCN_EXPECT(false);
5890
11.7k
            SCN_UNREACHABLE;
5891
11.7k
        }
5892
11.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
5870
11.8k
    {
5871
11.8k
        if constexpr (!detail::is_type_disabled<T> &&
5872
11.8k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
11.8k
            auto rd = make_reader<T, char_type>();
5876
11.8k
            return impl(rd, range, value);
5877
11.8k
        }
5878
11.8k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
11.8k
            auto rd = make_reader<T, char_type>();
5880
11.8k
            if (!is_segment_contiguous(range)) {
5881
11.8k
                return impl(rd, range, value);
5882
11.8k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
11.8k
        else {
5889
11.8k
            SCN_EXPECT(false);
5890
11.8k
            SCN_UNREACHABLE;
5891
11.8k
        }
5892
11.8k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
5870
26.7k
    {
5871
26.7k
        if constexpr (!detail::is_type_disabled<T> &&
5872
26.7k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
26.7k
            auto rd = make_reader<T, char_type>();
5876
26.7k
            return impl(rd, range, value);
5877
26.7k
        }
5878
26.7k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
26.7k
            auto rd = make_reader<T, char_type>();
5880
26.7k
            if (!is_segment_contiguous(range)) {
5881
26.7k
                return impl(rd, range, value);
5882
26.7k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
26.7k
        else {
5889
26.7k
            SCN_EXPECT(false);
5890
26.7k
            SCN_UNREACHABLE;
5891
26.7k
        }
5892
26.7k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
5870
27.5k
    {
5871
27.5k
        if constexpr (!detail::is_type_disabled<T> &&
5872
27.5k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
27.5k
            auto rd = make_reader<T, char_type>();
5876
27.5k
            return impl(rd, range, value);
5877
27.5k
        }
5878
27.5k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
27.5k
            auto rd = make_reader<T, char_type>();
5880
27.5k
            if (!is_segment_contiguous(range)) {
5881
27.5k
                return impl(rd, range, value);
5882
27.5k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
27.5k
        else {
5889
27.5k
            SCN_EXPECT(false);
5890
27.5k
            SCN_UNREACHABLE;
5891
27.5k
        }
5892
27.5k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
5870
28.0k
    {
5871
28.0k
        if constexpr (!detail::is_type_disabled<T> &&
5872
28.0k
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
28.0k
            auto rd = make_reader<T, char_type>();
5876
28.0k
            return impl(rd, range, value);
5877
28.0k
        }
5878
28.0k
        else if constexpr (!detail::is_type_disabled<T>) {
5879
28.0k
            auto rd = make_reader<T, char_type>();
5880
28.0k
            if (!is_segment_contiguous(range)) {
5881
28.0k
                return impl(rd, range, value);
5882
28.0k
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
28.0k
        else {
5889
28.0k
            SCN_EXPECT(false);
5890
28.0k
            SCN_UNREACHABLE;
5891
28.0k
        }
5892
28.0k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5870
2.16M
    {
5871
2.16M
        if constexpr (!detail::is_type_disabled<T> &&
5872
2.16M
                      std::is_same_v<
5873
0
                          context_type,
5874
0
                          basic_contiguous_scan_context<char_type>>) {
5875
2.16M
            auto rd = make_reader<T, char_type>();
5876
2.16M
            return impl(rd, range, value);
5877
2.16M
        }
5878
2.16M
        else if constexpr (!detail::is_type_disabled<T>) {
5879
2.16M
            auto rd = make_reader<T, char_type>();
5880
2.16M
            if (!is_segment_contiguous(range)) {
5881
2.16M
                return impl(rd, range, value);
5882
2.16M
            }
5883
0
            auto crange = get_as_contiguous(range);
5884
0
            SCN_TRY(it, impl(rd, crange, value));
5885
0
            return ranges::next(range.begin(),
5886
0
                                ranges::distance(crange.begin(), it));
5887
0
        }
5888
2.16M
        else {
5889
2.16M
            SCN_EXPECT(false);
5890
2.16M
            SCN_UNREACHABLE;
5891
2.16M
        }
5892
2.16M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
5893
5894
    basic_scan_context<char_type> make_custom_ctx()
5895
0
    {
5896
0
        if constexpr (std::is_same_v<
5897
0
                          context_type,
5898
0
                          basic_contiguous_scan_context<char_type>>) {
5899
0
            auto it =
5900
0
                typename detail::basic_scan_buffer<char_type>::forward_iterator{
5901
0
                    std::basic_string_view<char_type>(range.data(),
5902
0
                                                      range.size()),
5903
0
                    0};
5904
0
            return {it, args, loc};
5905
0
        }
5906
0
        else {
5907
0
            return {range.begin(), args, loc};
5908
0
        }
5909
0
    }
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::make_custom_ctx()
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::make_custom_ctx()
5910
5911
    scan_expected<iterator> operator()(
5912
        typename context_type::arg_type::handle h)
5913
0
    {
5914
0
        if constexpr (!detail::is_type_disabled<void>) {
5915
0
            basic_scan_parse_context<char_type> parse_ctx{{}};
5916
0
            auto ctx = make_custom_ctx();
5917
0
            if (auto e = h.scan(parse_ctx, ctx); !e) {
5918
0
                return unexpected(e);
5919
0
            }
5920
5921
0
            if constexpr (std::is_same_v<
5922
0
                              context_type,
5923
0
                              basic_contiguous_scan_context<char_type>>) {
5924
0
                return range.begin() + ctx.begin().position();
5925
0
            }
5926
0
            else {
5927
0
                return ctx.begin();
5928
0
            }
5929
0
        }
5930
0
        else {
5931
0
            SCN_EXPECT(false);
5932
0
            SCN_UNREACHABLE;
5933
0
        }
5934
0
    }
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
Unexecuted instantiation: scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
5935
5936
    range_type range;
5937
    args_type args;
5938
    detail::locale_ref loc;
5939
};
5940
5941
template <typename Iterator>
5942
using skip_fill_result = std::pair<Iterator, std::ptrdiff_t>;
5943
5944
template <typename Range>
5945
auto skip_fill(Range range,
5946
               std::ptrdiff_t max_width,
5947
               const detail::fill_type& fill,
5948
               bool want_skipped_width)
5949
    -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
5950
3.38k
{
5951
3.38k
    using char_type = detail::char_t<Range>;
5952
3.38k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
3.38k
    if (fill.size() <= sizeof(char_type)) {
5955
2.95k
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
3.84k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
_ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
5956
2.24k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Unexecuted instantiation: _ZZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
_ZZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
5956
512
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlcE_clEc
Line
Count
Source
5956
802
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
_ZZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEbENKUlwE_clEw
Line
Count
Source
5956
280
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
2.95k
        if (max_width == 0) {
5959
2.05k
            auto it = read_while_code_unit(range, pred);
5960
5961
2.05k
            if (want_skipped_width) {
5962
208
                auto prefix_width =
5963
208
                    static_cast<std::ptrdiff_t>(
5964
208
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
208
                    ranges::distance(range.begin(), it);
5966
208
                return result_type{it, prefix_width};
5967
208
            }
5968
1.84k
            return result_type{it, 0};
5969
2.05k
        }
5970
5971
896
        auto max_width_view = take_width(range, max_width);
5972
896
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
896
        if (want_skipped_width) {
5975
896
            return result_type{w_it.base(), max_width - w_it.count()};
5976
896
        }
5977
0
        return result_type{w_it.base(), 0};
5978
896
    }
5979
5980
434
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
434
    if (max_width == 0) {
5982
132
        auto it = read_while_code_units(range, fill_chars);
5983
5984
132
        if (want_skipped_width) {
5985
52
            auto prefix_width =
5986
52
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
52
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
52
            return result_type{it, prefix_width};
5989
52
        }
5990
80
        return result_type{it, 0};
5991
132
    }
5992
5993
302
    auto max_width_view = take_width(range, max_width);
5994
302
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
302
    if (want_skipped_width) {
5997
302
        return result_type{w_it.base(), max_width - w_it.count()};
5998
302
    }
5999
0
    return result_type{w_it.base(), 0};
6000
302
}
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIcNS4_11char_traitsIcEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
2.04k
{
5951
2.04k
    using char_type = detail::char_t<Range>;
5952
2.04k
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
2.04k
    if (fill.size() <= sizeof(char_type)) {
5955
1.81k
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
1.81k
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
1.81k
        if (max_width == 0) {
5959
1.68k
            auto it = read_while_code_unit(range, pred);
5960
5961
1.68k
            if (want_skipped_width) {
5962
166
                auto prefix_width =
5963
166
                    static_cast<std::ptrdiff_t>(
5964
166
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
166
                    ranges::distance(range.begin(), it);
5966
166
                return result_type{it, prefix_width};
5967
166
            }
5968
1.52k
            return result_type{it, 0};
5969
1.68k
        }
5970
5971
128
        auto max_width_view = take_width(range, max_width);
5972
128
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
128
        if (want_skipped_width) {
5975
128
            return result_type{w_it.base(), max_width - w_it.count()};
5976
128
        }
5977
0
        return result_type{w_it.base(), 0};
5978
128
    }
5979
5980
230
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
230
    if (max_width == 0) {
5982
132
        auto it = read_while_code_units(range, fill_chars);
5983
5984
132
        if (want_skipped_width) {
5985
52
            auto prefix_width =
5986
52
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
52
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
52
            return result_type{it, prefix_width};
5989
52
        }
5990
80
        return result_type{it, 0};
5991
132
    }
5992
5993
98
    auto max_width_view = take_width(range, max_width);
5994
98
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
98
    if (want_skipped_width) {
5997
98
        return result_type{w_it.base(), max_width - w_it.count()};
5998
98
    }
5999
0
    return result_type{w_it.base(), 0};
6000
98
}
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS4_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESI_lRKNS8_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS3_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESG_lRKNS7_9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINS1_15take_width_viewINSt3__117basic_string_viewIwNS4_11char_traitsIwEEEEEEEENS0_13scan_expectedINS4_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Unexecuted instantiation: _ZN3scn2v34impl9skip_fillINSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS0_13scan_expectedINS3_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESB_lRKNS0_6detail9fill_typeEb
_ZN3scn2v34impl9skip_fillINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS3_5beginEEclsr3stdE7declvalIRT_EEEElEEEESD_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
406
{
5951
406
    using char_type = detail::char_t<Range>;
5952
406
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
406
    if (fill.size() <= sizeof(char_type)) {
5955
406
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
406
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
406
        if (max_width == 0) {
5959
366
            auto it = read_while_code_unit(range, pred);
5960
5961
366
            if (want_skipped_width) {
5962
42
                auto prefix_width =
5963
42
                    static_cast<std::ptrdiff_t>(
5964
42
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
42
                    ranges::distance(range.begin(), it);
5966
42
                return result_type{it, prefix_width};
5967
42
            }
5968
324
            return result_type{it, 0};
5969
366
        }
5970
5971
40
        auto max_width_view = take_width(range, max_width);
5972
40
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
40
        if (want_skipped_width) {
5975
40
            return result_type{w_it.base(), max_width - w_it.count()};
5976
40
        }
5977
0
        return result_type{w_it.base(), 0};
5978
40
    }
5979
5980
0
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
0
    if (max_width == 0) {
5982
0
        auto it = read_while_code_units(range, fill_chars);
5983
5984
0
        if (want_skipped_width) {
5985
0
            auto prefix_width =
5986
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
0
            return result_type{it, prefix_width};
5989
0
        }
5990
0
        return result_type{it, 0};
5991
0
    }
5992
5993
0
    auto max_width_view = take_width(range, max_width);
5994
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
0
    if (want_skipped_width) {
5997
0
        return result_type{w_it.base(), max_width - w_it.count()};
5998
0
    }
5999
0
    return result_type{w_it.base(), 0};
6000
0
}
_ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
698
{
5951
698
    using char_type = detail::char_t<Range>;
5952
698
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
698
    if (fill.size() <= sizeof(char_type)) {
5955
494
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
494
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
494
        if (max_width == 0) {
5959
0
            auto it = read_while_code_unit(range, pred);
5960
5961
0
            if (want_skipped_width) {
5962
0
                auto prefix_width =
5963
0
                    static_cast<std::ptrdiff_t>(
5964
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
0
                    ranges::distance(range.begin(), it);
5966
0
                return result_type{it, prefix_width};
5967
0
            }
5968
0
            return result_type{it, 0};
5969
0
        }
5970
5971
494
        auto max_width_view = take_width(range, max_width);
5972
494
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
494
        if (want_skipped_width) {
5975
494
            return result_type{w_it.base(), max_width - w_it.count()};
5976
494
        }
5977
0
        return result_type{w_it.base(), 0};
5978
494
    }
5979
5980
204
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
204
    if (max_width == 0) {
5982
0
        auto it = read_while_code_units(range, fill_chars);
5983
5984
0
        if (want_skipped_width) {
5985
0
            auto prefix_width =
5986
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
0
            return result_type{it, prefix_width};
5989
0
        }
5990
0
        return result_type{it, 0};
5991
0
    }
5992
5993
204
    auto max_width_view = take_width(range, max_width);
5994
204
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
204
    if (want_skipped_width) {
5997
204
        return result_type{w_it.base(), max_width - w_it.count()};
5998
204
    }
5999
0
    return result_type{w_it.base(), 0};
6000
204
}
_ZN3scn2v34impl9skip_fillINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwS9_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS4_5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_lRKNS0_6detail9fill_typeEb
Line
Count
Source
5950
234
{
5951
234
    using char_type = detail::char_t<Range>;
5952
234
    using result_type = skip_fill_result<ranges::iterator_t<Range>>;
5953
5954
234
    if (fill.size() <= sizeof(char_type)) {
5955
234
        const auto fill_ch = fill.template get_code_unit<char_type>();
5956
234
        const auto pred = [=](char_type ch) { return ch == fill_ch; };
5957
5958
234
        if (max_width == 0) {
5959
0
            auto it = read_while_code_unit(range, pred);
5960
5961
0
            if (want_skipped_width) {
5962
0
                auto prefix_width =
5963
0
                    static_cast<std::ptrdiff_t>(
5964
0
                        calculate_text_width(static_cast<char32_t>(fill_ch))) *
5965
0
                    ranges::distance(range.begin(), it);
5966
0
                return result_type{it, prefix_width};
5967
0
            }
5968
0
            return result_type{it, 0};
5969
0
        }
5970
5971
234
        auto max_width_view = take_width(range, max_width);
5972
234
        auto w_it = read_while_code_unit(max_width_view, pred);
5973
5974
234
        if (want_skipped_width) {
5975
234
            return result_type{w_it.base(), max_width - w_it.count()};
5976
234
        }
5977
0
        return result_type{w_it.base(), 0};
5978
234
    }
5979
5980
0
    const auto fill_chars = fill.template get_code_units<char_type>();
5981
0
    if (max_width == 0) {
5982
0
        auto it = read_while_code_units(range, fill_chars);
5983
5984
0
        if (want_skipped_width) {
5985
0
            auto prefix_width =
5986
0
                static_cast<std::ptrdiff_t>(calculate_text_width(fill_chars)) *
5987
0
                ranges::distance(range.begin(), it) / ranges::ssize(fill_chars);
5988
0
            return result_type{it, prefix_width};
5989
0
        }
5990
0
        return result_type{it, 0};
5991
0
    }
5992
5993
0
    auto max_width_view = take_width(range, max_width);
5994
0
    auto w_it = read_while_code_units(max_width_view, fill_chars);
5995
5996
0
    if (want_skipped_width) {
5997
0
        return result_type{w_it.base(), max_width - w_it.count()};
5998
0
    }
5999
0
    return result_type{w_it.base(), 0};
6000
0
}
6001
6002
SCN_MAYBE_UNUSED constexpr scan_error check_widths_for_arg_reader(
6003
    const detail::format_specs& specs,
6004
    std::ptrdiff_t prefix_width,
6005
    std::ptrdiff_t value_width,
6006
    std::ptrdiff_t postfix_width)
6007
9.49M
{
6008
9.49M
    if (specs.width != 0) {
6009
1.86k
        if (prefix_width + value_width + postfix_width < specs.width) {
6010
852
            return {scan_error::invalid_scanned_value,
6011
852
                    "Scanned value too narrow, width did not exceed what "
6012
852
                    "was specified in the format string"};
6013
852
        }
6014
1.86k
    }
6015
9.49M
    if (specs.precision != 0) {
6016
1.61k
        if (prefix_width + value_width + postfix_width > specs.precision) {
6017
96
            return {scan_error::invalid_scanned_value,
6018
96
                    "Scanned value too wide, width exceeded the specified "
6019
96
                    "precision"};
6020
96
        }
6021
1.61k
    }
6022
9.49M
    return {};
6023
9.49M
}
6024
6025
template <typename Context>
6026
struct arg_reader {
6027
    using context_type = Context;
6028
    using char_type = typename context_type::char_type;
6029
6030
    using range_type = typename context_type::range_type;
6031
    using iterator = ranges::iterator_t<range_type>;
6032
6033
    template <typename Range>
6034
    auto impl_prefix(Range rng, bool rd_skip_ws_before_read)
6035
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6036
10.8M
    {
6037
10.8M
        const bool need_skipped_width =
6038
10.8M
            specs.width != 0 || specs.precision != 0;
6039
10.8M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
10.8M
        if (specs.align == detail::align_type::right ||
6043
10.8M
            specs.align == detail::align_type::center) {
6044
2.85k
            return skip_fill(rng, specs.precision, specs.fill,
6045
2.85k
                             need_skipped_width);
6046
2.85k
        }
6047
10.7M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
10.7M
            if (specs.precision != 0) {
6051
2.58k
                auto max_width_view = take_width(rng, specs.precision);
6052
2.58k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
2.44k
                                  .transform_error(make_eof_scan_error));
6054
2.44k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
2.58k
            }
6056
21.3M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
21.3M
                            make_eof_scan_error));
6058
6059
21.3M
            if (need_skipped_width) {
6060
2.80k
                return result_type{
6061
2.80k
                    it,
6062
2.80k
                    calculate_text_width(make_contiguous_buffer(
6063
2.80k
                                             ranges::subrange{rng.begin(), it})
6064
2.80k
                                             .view())};
6065
2.80k
            }
6066
10.6M
            return result_type{it, 0};
6067
21.3M
        }
6068
6069
66.7k
        return result_type{rng.begin(), 0};
6070
10.7M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_b
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_b
Line
Count
Source
6036
2.69M
    {
6037
2.69M
        const bool need_skipped_width =
6038
2.69M
            specs.width != 0 || specs.precision != 0;
6039
2.69M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
2.69M
        if (specs.align == detail::align_type::right ||
6043
2.69M
            specs.align == detail::align_type::center) {
6044
0
            return skip_fill(rng, specs.precision, specs.fill,
6045
0
                             need_skipped_width);
6046
0
        }
6047
2.69M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
2.68M
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
5.33M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
5.33M
                            make_eof_scan_error));
6058
6059
5.33M
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
2.64M
            return result_type{it, 0};
6067
5.33M
        }
6068
6069
6.46k
        return result_type{rng.begin(), 0};
6070
2.69M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIcNS8_11char_traitsIcEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE11impl_prefixINSt3__117basic_string_viewIcNS7_11char_traitsIcEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS8_18default_sentinel_tEEEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESM_b
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_b
Line
Count
Source
6036
1.98M
    {
6037
1.98M
        const bool need_skipped_width =
6038
1.98M
            specs.width != 0 || specs.precision != 0;
6039
1.98M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
1.98M
        if (specs.align == detail::align_type::right ||
6043
1.98M
            specs.align == detail::align_type::center) {
6044
0
            return skip_fill(rng, specs.precision, specs.fill,
6045
0
                             need_skipped_width);
6046
0
        }
6047
1.98M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
1.97M
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
3.93M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
3.93M
                            make_eof_scan_error));
6058
6059
3.93M
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
1.96M
            return result_type{it, 0};
6067
3.93M
        }
6068
6069
9.37k
        return result_type{rng.begin(), 0};
6070
1.98M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINS1_15take_width_viewINSt3__117basic_string_viewIwNS8_11char_traitsIwEEEEEEEENS0_13scan_expectedINS8_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE11impl_prefixINSt3__117basic_string_viewIwNS7_11char_traitsIwEEEEEENS0_13scan_expectedINS7_4pairIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT_EEEElEEEESF_b
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6036
3.95k
    {
6037
3.95k
        const bool need_skipped_width =
6038
3.95k
            specs.width != 0 || specs.precision != 0;
6039
3.95k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
3.95k
        if (specs.align == detail::align_type::right ||
6043
3.95k
            specs.align == detail::align_type::center) {
6044
698
            return skip_fill(rng, specs.precision, specs.fill,
6045
698
                             need_skipped_width);
6046
698
        }
6047
3.25k
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
1.85k
            if (specs.precision != 0) {
6051
1.85k
                auto max_width_view = take_width(rng, specs.precision);
6052
1.85k
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
1.71k
                                  .transform_error(make_eof_scan_error));
6054
1.71k
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
1.85k
            }
6056
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
0
                            make_eof_scan_error));
6058
6059
0
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
0
            return result_type{it, 0};
6067
0
        }
6068
6069
1.39k
        return result_type{rng.begin(), 0};
6070
3.25k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6036
2.68M
    {
6037
2.68M
        const bool need_skipped_width =
6038
2.68M
            specs.width != 0 || specs.precision != 0;
6039
2.68M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
2.68M
        if (specs.align == detail::align_type::right ||
6043
2.68M
            specs.align == detail::align_type::center) {
6044
1.65k
            return skip_fill(rng, specs.precision, specs.fill,
6045
1.65k
                             need_skipped_width);
6046
1.65k
        }
6047
2.68M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
2.65M
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
5.28M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
5.28M
                            make_eof_scan_error));
6058
6059
5.28M
            if (need_skipped_width) {
6060
954
                return result_type{
6061
954
                    it,
6062
954
                    calculate_text_width(make_contiguous_buffer(
6063
954
                                             ranges::subrange{rng.begin(), it})
6064
954
                                             .view())};
6065
954
            }
6066
2.62M
            return result_type{it, 0};
6067
5.28M
        }
6068
6069
24.4k
        return result_type{rng.begin(), 0};
6070
2.68M
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE11impl_prefixINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSD_EEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS8_5beginEEclsr3stdE7declvalIRT_EEEElEEEESJ_b
Line
Count
Source
6036
1.17k
    {
6037
1.17k
        const bool need_skipped_width =
6038
1.17k
            specs.width != 0 || specs.precision != 0;
6039
1.17k
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
1.17k
        if (specs.align == detail::align_type::right ||
6043
1.17k
            specs.align == detail::align_type::center) {
6044
234
            return skip_fill(rng, specs.precision, specs.fill,
6045
234
                             need_skipped_width);
6046
234
        }
6047
936
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
724
            if (specs.precision != 0) {
6051
724
                auto max_width_view = take_width(rng, specs.precision);
6052
724
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
724
                                  .transform_error(make_eof_scan_error));
6054
724
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
724
            }
6056
0
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
0
                            make_eof_scan_error));
6058
6059
0
            if (need_skipped_width) {
6060
0
                return result_type{
6061
0
                    it,
6062
0
                    calculate_text_width(make_contiguous_buffer(
6063
0
                                             ranges::subrange{rng.begin(), it})
6064
0
                                             .view())};
6065
0
            }
6066
0
            return result_type{it, 0};
6067
0
        }
6068
6069
212
        return result_type{rng.begin(), 0};
6070
936
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE11impl_prefixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_b
Line
Count
Source
6036
3.44M
    {
6037
3.44M
        const bool need_skipped_width =
6038
3.44M
            specs.width != 0 || specs.precision != 0;
6039
3.44M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6040
6041
        // Read prefix
6042
3.44M
        if (specs.align == detail::align_type::right ||
6043
3.44M
            specs.align == detail::align_type::center) {
6044
272
            return skip_fill(rng, specs.precision, specs.fill,
6045
272
                             need_skipped_width);
6046
272
        }
6047
3.44M
        if (specs.align == detail::align_type::none && rd_skip_ws_before_read) {
6048
            // Default alignment:
6049
            // Skip preceding whitespace, if required by the reader
6050
3.41M
            if (specs.precision != 0) {
6051
0
                auto max_width_view = take_width(rng, specs.precision);
6052
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view)
6053
0
                                  .transform_error(make_eof_scan_error));
6054
0
                return result_type{w_it.base(), specs.precision - w_it.count()};
6055
0
            }
6056
6.82M
            SCN_TRY(it, skip_classic_whitespace(rng).transform_error(
6057
6.82M
                            make_eof_scan_error));
6058
6059
6.82M
            if (need_skipped_width) {
6060
1.84k
                return result_type{
6061
1.84k
                    it,
6062
1.84k
                    calculate_text_width(make_contiguous_buffer(
6063
1.84k
                                             ranges::subrange{rng.begin(), it})
6064
1.84k
                                             .view())};
6065
1.84k
            }
6066
3.40M
            return result_type{it, 0};
6067
6.82M
        }
6068
6069
24.9k
        return result_type{rng.begin(), 0};
6070
3.44M
    }
6071
6072
    template <typename Range>
6073
    auto impl_postfix(Range rng,
6074
                      bool rd_skip_ws_before_read,
6075
                      std::ptrdiff_t prefix_width,
6076
                      std::ptrdiff_t value_width)
6077
        -> scan_expected<skip_fill_result<ranges::iterator_t<Range>>>
6078
9.43M
    {
6079
9.43M
        const bool need_skipped_width =
6080
9.43M
            specs.width != 0 || specs.precision != 0;
6081
9.43M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
9.43M
        if (specs.align == detail::align_type::left ||
6084
9.43M
            specs.align == detail::align_type::center) {
6085
650
            if (specs.precision != 0 &&
6086
650
                specs.precision - value_width - prefix_width == 0) {
6087
122
                return result_type{rng.begin(), 0};
6088
122
            }
6089
528
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
528
                             specs.fill, need_skipped_width);
6091
650
        }
6092
9.42M
        if (specs.align == detail::align_type::none &&
6093
9.42M
            !rd_skip_ws_before_read &&
6094
9.42M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
9.87k
             (specs.precision != 0 &&
6096
9.30k
              prefix_width + value_width < specs.precision))) {
6097
1.07k
            if (specs.precision != 0) {
6098
506
                const auto initial_width =
6099
506
                    specs.precision - prefix_width - value_width;
6100
506
                auto max_width_view = take_width(rng, initial_width);
6101
506
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
506
                                  .transform_error(make_eof_scan_error));
6103
506
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
506
            }
6105
1.14k
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
1.14k
                            make_eof_scan_error));
6107
6108
1.14k
            if (need_skipped_width) {
6109
570
                return result_type{
6110
570
                    it,
6111
570
                    calculate_text_width(make_contiguous_buffer(
6112
570
                                             ranges::subrange{rng.begin(), it})
6113
570
                                             .view())};
6114
570
            }
6115
0
            return result_type{it, 0};
6116
1.14k
        }
6117
9.42M
        return result_type{rng.begin(), 0};
6118
9.42M
    }
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_bll
Line
Count
Source
6078
2.45M
    {
6079
2.45M
        const bool need_skipped_width =
6080
2.45M
            specs.width != 0 || specs.precision != 0;
6081
2.45M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
2.45M
        if (specs.align == detail::align_type::left ||
6084
2.45M
            specs.align == detail::align_type::center) {
6085
0
            if (specs.precision != 0 &&
6086
0
                specs.precision - value_width - prefix_width == 0) {
6087
0
                return result_type{rng.begin(), 0};
6088
0
            }
6089
0
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
0
                             specs.fill, need_skipped_width);
6091
0
        }
6092
2.45M
        if (specs.align == detail::align_type::none &&
6093
2.45M
            !rd_skip_ws_before_read &&
6094
2.45M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
1.80k
             (specs.precision != 0 &&
6096
1.80k
              prefix_width + value_width < specs.precision))) {
6097
0
            if (specs.precision != 0) {
6098
0
                const auto initial_width =
6099
0
                    specs.precision - prefix_width - value_width;
6100
0
                auto max_width_view = take_width(rng, initial_width);
6101
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
0
                                  .transform_error(make_eof_scan_error));
6103
0
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
0
            }
6105
0
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
0
                            make_eof_scan_error));
6107
6108
0
            if (need_skipped_width) {
6109
0
                return result_type{
6110
0
                    it,
6111
0
                    calculate_text_width(make_contiguous_buffer(
6112
0
                                             ranges::subrange{rng.begin(), it})
6113
0
                                             .view())};
6114
0
            }
6115
0
            return result_type{it, 0};
6116
0
        }
6117
2.45M
        return result_type{rng.begin(), 0};
6118
2.45M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS7_18default_sentinel_tEEEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESK_bll
Line
Count
Source
6078
1.55M
    {
6079
1.55M
        const bool need_skipped_width =
6080
1.55M
            specs.width != 0 || specs.precision != 0;
6081
1.55M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
1.55M
        if (specs.align == detail::align_type::left ||
6084
1.55M
            specs.align == detail::align_type::center) {
6085
0
            if (specs.precision != 0 &&
6086
0
                specs.precision - value_width - prefix_width == 0) {
6087
0
                return result_type{rng.begin(), 0};
6088
0
            }
6089
0
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
0
                             specs.fill, need_skipped_width);
6091
0
        }
6092
1.55M
        if (specs.align == detail::align_type::none &&
6093
1.55M
            !rd_skip_ws_before_read &&
6094
1.55M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
86
             (specs.precision != 0 &&
6096
86
              prefix_width + value_width < specs.precision))) {
6097
0
            if (specs.precision != 0) {
6098
0
                const auto initial_width =
6099
0
                    specs.precision - prefix_width - value_width;
6100
0
                auto max_width_view = take_width(rng, initial_width);
6101
0
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
0
                                  .transform_error(make_eof_scan_error));
6103
0
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
0
            }
6105
0
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
0
                            make_eof_scan_error));
6107
6108
0
            if (need_skipped_width) {
6109
0
                return result_type{
6110
0
                    it,
6111
0
                    calculate_text_width(make_contiguous_buffer(
6112
0
                                             ranges::subrange{rng.begin(), it})
6113
0
                                             .view())};
6114
0
            }
6115
0
            return result_type{it, 0};
6116
0
        }
6117
1.55M
        return result_type{rng.begin(), 0};
6118
1.55M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKcSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6078
2.42M
    {
6079
2.42M
        const bool need_skipped_width =
6080
2.42M
            specs.width != 0 || specs.precision != 0;
6081
2.42M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
2.42M
        if (specs.align == detail::align_type::left ||
6084
2.42M
            specs.align == detail::align_type::center) {
6085
472
            if (specs.precision != 0 &&
6086
472
                specs.precision - value_width - prefix_width == 0) {
6087
78
                return result_type{rng.begin(), 0};
6088
78
            }
6089
394
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
394
                             specs.fill, need_skipped_width);
6091
472
        }
6092
2.42M
        if (specs.align == detail::align_type::none &&
6093
2.42M
            !rd_skip_ws_before_read &&
6094
2.42M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
6.79k
             (specs.precision != 0 &&
6096
6.62k
              prefix_width + value_width < specs.precision))) {
6097
598
            if (specs.precision != 0) {
6098
428
                const auto initial_width =
6099
428
                    specs.precision - prefix_width - value_width;
6100
428
                auto max_width_view = take_width(rng, initial_width);
6101
428
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
428
                                  .transform_error(make_eof_scan_error));
6103
428
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
428
            }
6105
340
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
340
                            make_eof_scan_error));
6107
6108
340
            if (need_skipped_width) {
6109
170
                return result_type{
6110
170
                    it,
6111
170
                    calculate_text_width(make_contiguous_buffer(
6112
170
                                             ranges::subrange{rng.begin(), it})
6113
170
                                             .view())};
6114
170
            }
6115
0
            return result_type{it, 0};
6116
340
        }
6117
2.42M
        return result_type{rng.begin(), 0};
6118
2.42M
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE12impl_postfixINS0_6ranges6detail9subrange_8subrangeIPKwSC_EEEENS0_13scan_expectedINSt3__14pairIDTclL_ZNS7_5beginEEclsr3stdE7declvalIRT_EEEElEEEESH_bll
Line
Count
Source
6078
2.99M
    {
6079
2.99M
        const bool need_skipped_width =
6080
2.99M
            specs.width != 0 || specs.precision != 0;
6081
2.99M
        using result_type = skip_fill_result<ranges::iterator_t<Range>>;
6082
6083
2.99M
        if (specs.align == detail::align_type::left ||
6084
2.99M
            specs.align == detail::align_type::center) {
6085
178
            if (specs.precision != 0 &&
6086
178
                specs.precision - value_width - prefix_width == 0) {
6087
44
                return result_type{rng.begin(), 0};
6088
44
            }
6089
134
            return skip_fill(rng, specs.precision - value_width - prefix_width,
6090
134
                             specs.fill, need_skipped_width);
6091
178
        }
6092
2.99M
        if (specs.align == detail::align_type::none &&
6093
2.99M
            !rd_skip_ws_before_read &&
6094
2.99M
            ((specs.width != 0 && prefix_width + value_width < specs.width) ||
6095
1.20k
             (specs.precision != 0 &&
6096
800
              prefix_width + value_width < specs.precision))) {
6097
478
            if (specs.precision != 0) {
6098
78
                const auto initial_width =
6099
78
                    specs.precision - prefix_width - value_width;
6100
78
                auto max_width_view = take_width(rng, initial_width);
6101
78
                SCN_TRY(w_it, skip_classic_whitespace(max_width_view, true)
6102
78
                                  .transform_error(make_eof_scan_error));
6103
78
                return result_type{w_it.base(), initial_width - w_it.count()};
6104
78
            }
6105
800
            SCN_TRY(it, skip_classic_whitespace(rng, true).transform_error(
6106
800
                            make_eof_scan_error));
6107
6108
800
            if (need_skipped_width) {
6109
400
                return result_type{
6110
400
                    it,
6111
400
                    calculate_text_width(make_contiguous_buffer(
6112
400
                                             ranges::subrange{rng.begin(), it})
6113
400
                                             .view())};
6114
400
            }
6115
0
            return result_type{it, 0};
6116
800
        }
6117
2.98M
        return result_type{rng.begin(), 0};
6118
2.99M
    }
6119
6120
    template <typename Reader, typename Range, typename T>
6121
    auto impl(Reader& rd, Range rng, T& value)
6122
        -> scan_expected<ranges::iterator_t<Range>>
6123
10.8M
    {
6124
10.8M
        const bool need_skipped_width =
6125
10.8M
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
10.8M
        auto it = rng.begin();
6129
10.8M
        std::ptrdiff_t prefix_width = 0;
6130
10.8M
        if (specs.precision != 0) {
6131
5.12k
            auto max_width_view = take_width(rng, specs.precision);
6132
5.12k
            SCN_TRY(prefix_result,
6133
4.98k
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
4.98k
            it = prefix_result.first.base();
6135
4.98k
            prefix_width = prefix_result.second;
6136
4.98k
        }
6137
10.7M
        else {
6138
10.7M
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
10.7M
            std::tie(it, prefix_width) = prefix_result;
6140
10.7M
        }
6141
10.7M
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
10.7M
        std::ptrdiff_t value_width = 0;
6145
10.7M
        if (specs.precision != 0) {
6146
4.98k
            if (specs.precision <= prefix_width) {
6147
88
                return unexpected_scan_error(
6148
88
                    scan_error::invalid_scanned_value,
6149
88
                    "Too many fill characters before value, "
6150
88
                    "precision exceeded before reading value");
6151
88
            }
6152
6153
4.89k
            const auto initial_width = specs.precision - prefix_width;
6154
4.89k
            auto max_width_view =
6155
4.89k
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
4.89k
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
1.61k
            it = w_it.base();
6158
1.61k
            value_width = initial_width - w_it.count();
6159
1.61k
        }
6160
10.7M
        else {
6161
10.7M
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
9.49M
                                             specs, value, loc));
6163
6164
9.49M
            if (need_skipped_width) {
6165
1.81k
                value_width = calculate_text_width(
6166
1.81k
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
1.81k
                        .view());
6168
1.81k
            }
6169
9.49M
        }
6170
6171
        // Read postfix
6172
9.49M
        std::ptrdiff_t postfix_width = 0;
6173
9.49M
        if (it != rng.end()) {
6174
9.43M
            SCN_TRY(postfix_result,
6175
9.43M
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
9.43M
                                 rd.skip_ws_before_read(), prefix_width,
6177
9.43M
                                 value_width));
6178
9.43M
            std::tie(it, postfix_width) = postfix_result;
6179
9.43M
        }
6180
6181
9.49M
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
9.49M
                                                 value_width, postfix_width);
6183
9.49M
            !e) {
6184
948
            return unexpected(e);
6185
948
        }
6186
6187
9.49M
        return it;
6188
9.49M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
248k
    {
6124
248k
        const bool need_skipped_width =
6125
248k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
248k
        auto it = rng.begin();
6129
248k
        std::ptrdiff_t prefix_width = 0;
6130
248k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
248k
        else {
6138
248k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
245k
            std::tie(it, prefix_width) = prefix_result;
6140
245k
        }
6141
245k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
245k
        std::ptrdiff_t value_width = 0;
6145
245k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
245k
        else {
6161
245k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
224k
                                             specs, value, loc));
6163
6164
224k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
224k
        }
6170
6171
        // Read postfix
6172
224k
        std::ptrdiff_t postfix_width = 0;
6173
224k
        if (it != rng.end()) {
6174
222k
            SCN_TRY(postfix_result,
6175
222k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
222k
                                 rd.skip_ws_before_read(), prefix_width,
6177
222k
                                 value_width));
6178
222k
            std::tie(it, postfix_width) = postfix_result;
6179
222k
        }
6180
6181
224k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
224k
                                                 value_width, postfix_width);
6183
224k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
224k
        return it;
6188
224k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
322k
    {
6124
322k
        const bool need_skipped_width =
6125
322k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
322k
        auto it = rng.begin();
6129
322k
        std::ptrdiff_t prefix_width = 0;
6130
322k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
322k
        else {
6138
322k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
318k
            std::tie(it, prefix_width) = prefix_result;
6140
318k
        }
6141
318k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
318k
        std::ptrdiff_t value_width = 0;
6145
318k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
318k
        else {
6161
318k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
299k
                                             specs, value, loc));
6163
6164
299k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
299k
        }
6170
6171
        // Read postfix
6172
299k
        std::ptrdiff_t postfix_width = 0;
6173
299k
        if (it != rng.end()) {
6174
296k
            SCN_TRY(postfix_result,
6175
296k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
296k
                                 rd.skip_ws_before_read(), prefix_width,
6177
296k
                                 value_width));
6178
296k
            std::tie(it, postfix_width) = postfix_result;
6179
296k
        }
6180
6181
299k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
299k
                                                 value_width, postfix_width);
6183
299k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
299k
        return it;
6188
299k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
328k
    {
6124
328k
        const bool need_skipped_width =
6125
328k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
328k
        auto it = rng.begin();
6129
328k
        std::ptrdiff_t prefix_width = 0;
6130
328k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
328k
        else {
6138
328k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
324k
            std::tie(it, prefix_width) = prefix_result;
6140
324k
        }
6141
324k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
324k
        std::ptrdiff_t value_width = 0;
6145
324k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
324k
        else {
6161
324k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
305k
                                             specs, value, loc));
6163
6164
305k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
305k
        }
6170
6171
        // Read postfix
6172
305k
        std::ptrdiff_t postfix_width = 0;
6173
305k
        if (it != rng.end()) {
6174
302k
            SCN_TRY(postfix_result,
6175
302k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
302k
                                 rd.skip_ws_before_read(), prefix_width,
6177
302k
                                 value_width));
6178
302k
            std::tie(it, postfix_width) = postfix_result;
6179
302k
        }
6180
6181
305k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
305k
                                                 value_width, postfix_width);
6183
305k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
305k
        return it;
6188
305k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
243k
    {
6124
243k
        const bool need_skipped_width =
6125
243k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
243k
        auto it = rng.begin();
6129
243k
        std::ptrdiff_t prefix_width = 0;
6130
243k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
243k
        else {
6138
243k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
241k
            std::tie(it, prefix_width) = prefix_result;
6140
241k
        }
6141
241k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
241k
        std::ptrdiff_t value_width = 0;
6145
241k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
241k
        else {
6161
241k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
220k
                                             specs, value, loc));
6163
6164
220k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
220k
        }
6170
6171
        // Read postfix
6172
220k
        std::ptrdiff_t postfix_width = 0;
6173
220k
        if (it != rng.end()) {
6174
218k
            SCN_TRY(postfix_result,
6175
218k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
218k
                                 rd.skip_ws_before_read(), prefix_width,
6177
218k
                                 value_width));
6178
218k
            std::tie(it, postfix_width) = postfix_result;
6179
218k
        }
6180
6181
220k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
220k
                                                 value_width, postfix_width);
6183
220k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
220k
        return it;
6188
220k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
277k
    {
6124
277k
        const bool need_skipped_width =
6125
277k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
277k
        auto it = rng.begin();
6129
277k
        std::ptrdiff_t prefix_width = 0;
6130
277k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
277k
        else {
6138
277k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
274k
            std::tie(it, prefix_width) = prefix_result;
6140
274k
        }
6141
274k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
274k
        std::ptrdiff_t value_width = 0;
6145
274k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
274k
        else {
6161
274k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
254k
                                             specs, value, loc));
6163
6164
254k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
254k
        }
6170
6171
        // Read postfix
6172
254k
        std::ptrdiff_t postfix_width = 0;
6173
254k
        if (it != rng.end()) {
6174
252k
            SCN_TRY(postfix_result,
6175
252k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
252k
                                 rd.skip_ws_before_read(), prefix_width,
6177
252k
                                 value_width));
6178
252k
            std::tie(it, postfix_width) = postfix_result;
6179
252k
        }
6180
6181
254k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
254k
                                                 value_width, postfix_width);
6183
254k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
254k
        return it;
6188
254k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
280k
    {
6124
280k
        const bool need_skipped_width =
6125
280k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
280k
        auto it = rng.begin();
6129
280k
        std::ptrdiff_t prefix_width = 0;
6130
280k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
280k
        else {
6138
280k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
277k
            std::tie(it, prefix_width) = prefix_result;
6140
277k
        }
6141
277k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
277k
        std::ptrdiff_t value_width = 0;
6145
277k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
277k
        else {
6161
277k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
257k
                                             specs, value, loc));
6163
6164
257k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
257k
        }
6170
6171
        // Read postfix
6172
257k
        std::ptrdiff_t postfix_width = 0;
6173
257k
        if (it != rng.end()) {
6174
254k
            SCN_TRY(postfix_result,
6175
254k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
254k
                                 rd.skip_ws_before_read(), prefix_width,
6177
254k
                                 value_width));
6178
254k
            std::tie(it, postfix_width) = postfix_result;
6179
254k
        }
6180
6181
257k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
257k
                                                 value_width, postfix_width);
6183
257k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
257k
        return it;
6188
257k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
277k
    {
6124
277k
        const bool need_skipped_width =
6125
277k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
277k
        auto it = rng.begin();
6129
277k
        std::ptrdiff_t prefix_width = 0;
6130
277k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
277k
        else {
6138
277k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
272k
            std::tie(it, prefix_width) = prefix_result;
6140
272k
        }
6141
272k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
272k
        std::ptrdiff_t value_width = 0;
6145
272k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
272k
        else {
6161
272k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
256k
                                             specs, value, loc));
6163
6164
256k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
256k
        }
6170
6171
        // Read postfix
6172
256k
        std::ptrdiff_t postfix_width = 0;
6173
256k
        if (it != rng.end()) {
6174
253k
            SCN_TRY(postfix_result,
6175
253k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
253k
                                 rd.skip_ws_before_read(), prefix_width,
6177
253k
                                 value_width));
6178
253k
            std::tie(it, postfix_width) = postfix_result;
6179
253k
        }
6180
6181
256k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
256k
                                                 value_width, postfix_width);
6183
256k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
256k
        return it;
6188
256k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
289k
    {
6124
289k
        const bool need_skipped_width =
6125
289k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
289k
        auto it = rng.begin();
6129
289k
        std::ptrdiff_t prefix_width = 0;
6130
289k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
289k
        else {
6138
289k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
284k
            std::tie(it, prefix_width) = prefix_result;
6140
284k
        }
6141
284k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
284k
        std::ptrdiff_t value_width = 0;
6145
284k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
284k
        else {
6161
284k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
269k
                                             specs, value, loc));
6163
6164
269k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
269k
        }
6170
6171
        // Read postfix
6172
269k
        std::ptrdiff_t postfix_width = 0;
6173
269k
        if (it != rng.end()) {
6174
265k
            SCN_TRY(postfix_result,
6175
265k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
265k
                                 rd.skip_ws_before_read(), prefix_width,
6177
265k
                                 value_width));
6178
265k
            std::tie(it, postfix_width) = postfix_result;
6179
265k
        }
6180
6181
269k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
269k
                                                 value_width, postfix_width);
6183
269k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
269k
        return it;
6188
269k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
292k
    {
6124
292k
        const bool need_skipped_width =
6125
292k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
292k
        auto it = rng.begin();
6129
292k
        std::ptrdiff_t prefix_width = 0;
6130
292k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
292k
        else {
6138
292k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
287k
            std::tie(it, prefix_width) = prefix_result;
6140
287k
        }
6141
287k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
287k
        std::ptrdiff_t value_width = 0;
6145
287k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
287k
        else {
6161
287k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
272k
                                             specs, value, loc));
6163
6164
272k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
272k
        }
6170
6171
        // Read postfix
6172
272k
        std::ptrdiff_t postfix_width = 0;
6173
272k
        if (it != rng.end()) {
6174
268k
            SCN_TRY(postfix_result,
6175
268k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
268k
                                 rd.skip_ws_before_read(), prefix_width,
6177
268k
                                 value_width));
6178
268k
            std::tie(it, postfix_width) = postfix_result;
6179
268k
        }
6180
6181
272k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
272k
                                                 value_width, postfix_width);
6183
272k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
272k
        return it;
6188
272k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
6123
129k
    {
6124
129k
        const bool need_skipped_width =
6125
129k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
129k
        auto it = rng.begin();
6129
129k
        std::ptrdiff_t prefix_width = 0;
6130
129k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
129k
        else {
6138
129k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
127k
            std::tie(it, prefix_width) = prefix_result;
6140
127k
        }
6141
127k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
127k
        std::ptrdiff_t value_width = 0;
6145
127k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
127k
        else {
6161
127k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
120k
                                             specs, value, loc));
6163
6164
120k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
120k
        }
6170
6171
        // Read postfix
6172
120k
        std::ptrdiff_t postfix_width = 0;
6173
120k
        if (it != rng.end()) {
6174
119k
            SCN_TRY(postfix_result,
6175
119k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
119k
                                 rd.skip_ws_before_read(), prefix_width,
6177
119k
                                 value_width));
6178
119k
            std::tie(it, postfix_width) = postfix_result;
6179
119k
        }
6180
6181
120k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
120k
                                                 value_width, postfix_width);
6183
120k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
120k
        return it;
6188
120k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIcSC_NS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS9_12basic_stringIwNSB_IwEENS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENSA_IwNSB_IwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.1k
    {
6124
47.1k
        const bool need_skipped_width =
6125
47.1k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.1k
        auto it = rng.begin();
6129
47.1k
        std::ptrdiff_t prefix_width = 0;
6130
47.1k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.1k
        else {
6138
47.1k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
460
                                             specs, value, loc));
6163
6164
460
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
460
        }
6170
6171
        // Read postfix
6172
460
        std::ptrdiff_t postfix_width = 0;
6173
460
        if (it != rng.end()) {
6174
292
            SCN_TRY(postfix_result,
6175
292
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
292
                                 rd.skip_ws_before_read(), prefix_width,
6177
292
                                 value_width));
6178
292
            std::tie(it, postfix_width) = postfix_result;
6179
292
        }
6180
6181
460
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
460
                                                 value_width, postfix_width);
6183
460
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
460
        return it;
6188
460
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEaEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEsEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.2k
    {
6124
47.2k
        const bool need_skipped_width =
6125
47.2k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.2k
        auto it = rng.begin();
6129
47.2k
        std::ptrdiff_t prefix_width = 0;
6130
47.2k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.2k
        else {
6138
47.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.9k
            std::tie(it, prefix_width) = prefix_result;
6140
46.9k
        }
6141
46.9k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.9k
        std::ptrdiff_t value_width = 0;
6145
46.9k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.9k
        else {
6161
46.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
546
                                             specs, value, loc));
6163
6164
546
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
546
        }
6170
6171
        // Read postfix
6172
546
        std::ptrdiff_t postfix_width = 0;
6173
546
        if (it != rng.end()) {
6174
366
            SCN_TRY(postfix_result,
6175
366
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
366
                                 rd.skip_ws_before_read(), prefix_width,
6177
366
                                 value_width));
6178
366
            std::tie(it, postfix_width) = postfix_result;
6179
366
        }
6180
6181
546
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
546
                                                 value_width, postfix_width);
6183
546
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
546
        return it;
6188
546
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEElEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.3k
    {
6124
47.3k
        const bool need_skipped_width =
6125
47.3k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.3k
        auto it = rng.begin();
6129
47.3k
        std::ptrdiff_t prefix_width = 0;
6130
47.3k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.3k
        else {
6138
47.3k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
47.0k
            std::tie(it, prefix_width) = prefix_result;
6140
47.0k
        }
6141
47.0k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
47.0k
        std::ptrdiff_t value_width = 0;
6145
47.0k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
47.0k
        else {
6161
47.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
654
                                             specs, value, loc));
6163
6164
654
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
654
        }
6170
6171
        // Read postfix
6172
654
        std::ptrdiff_t postfix_width = 0;
6173
654
        if (it != rng.end()) {
6174
474
            SCN_TRY(postfix_result,
6175
474
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
474
                                 rd.skip_ws_before_read(), prefix_width,
6177
474
                                 value_width));
6178
474
            std::tie(it, postfix_width) = postfix_result;
6179
474
        }
6180
6181
654
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
654
                                                 value_width, postfix_width);
6183
654
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
654
        return it;
6188
654
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEExEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.0k
    {
6124
47.0k
        const bool need_skipped_width =
6125
47.0k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.0k
        auto it = rng.begin();
6129
47.0k
        std::ptrdiff_t prefix_width = 0;
6130
47.0k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.0k
        else {
6138
47.0k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
392
                                             specs, value, loc));
6163
6164
392
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
392
        }
6170
6171
        // Read postfix
6172
392
        std::ptrdiff_t postfix_width = 0;
6173
392
        if (it != rng.end()) {
6174
264
            SCN_TRY(postfix_result,
6175
264
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
264
                                 rd.skip_ws_before_read(), prefix_width,
6177
264
                                 value_width));
6178
264
            std::tie(it, postfix_width) = postfix_result;
6179
264
        }
6180
6181
392
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
392
                                                 value_width, postfix_width);
6183
392
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
392
        return it;
6188
392
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEhEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEtEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.1k
    {
6124
47.1k
        const bool need_skipped_width =
6125
47.1k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.1k
        auto it = rng.begin();
6129
47.1k
        std::ptrdiff_t prefix_width = 0;
6130
47.1k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.1k
        else {
6138
47.1k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
438
                                             specs, value, loc));
6163
6164
438
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
438
        }
6170
6171
        // Read postfix
6172
438
        std::ptrdiff_t postfix_width = 0;
6173
438
        if (it != rng.end()) {
6174
310
            SCN_TRY(postfix_result,
6175
310
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
310
                                 rd.skip_ws_before_read(), prefix_width,
6177
310
                                 value_width));
6178
310
            std::tie(it, postfix_width) = postfix_result;
6179
310
        }
6180
6181
438
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
438
                                                 value_width, postfix_width);
6183
438
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
438
        return it;
6188
438
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEjEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEmEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
47.2k
    {
6124
47.2k
        const bool need_skipped_width =
6125
47.2k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.2k
        auto it = rng.begin();
6129
47.2k
        std::ptrdiff_t prefix_width = 0;
6130
47.2k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.2k
        else {
6138
47.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.9k
            std::tie(it, prefix_width) = prefix_result;
6140
46.9k
        }
6141
46.9k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.9k
        std::ptrdiff_t value_width = 0;
6145
46.9k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.9k
        else {
6161
46.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
532
                                             specs, value, loc));
6163
6164
532
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
532
        }
6170
6171
        // Read postfix
6172
532
        std::ptrdiff_t postfix_width = 0;
6173
532
        if (it != rng.end()) {
6174
404
            SCN_TRY(postfix_result,
6175
404
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
404
                                 rd.skip_ws_before_read(), prefix_width,
6177
404
                                 value_width));
6178
404
            std::tie(it, postfix_width) = postfix_result;
6179
404
        }
6180
6181
532
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
532
                                                 value_width, postfix_width);
6183
532
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
532
        return it;
6188
532
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEyEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
80.7k
    {
6124
80.7k
        const bool need_skipped_width =
6125
80.7k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
80.7k
        auto it = rng.begin();
6129
80.7k
        std::ptrdiff_t prefix_width = 0;
6130
80.7k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
80.7k
        else {
6138
80.7k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
80.0k
            std::tie(it, prefix_width) = prefix_result;
6140
80.0k
        }
6141
80.0k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
80.0k
        std::ptrdiff_t value_width = 0;
6145
80.0k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
80.0k
        else {
6161
80.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
40.4k
                                             specs, value, loc));
6163
6164
40.4k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
40.4k
        }
6170
6171
        // Read postfix
6172
40.4k
        std::ptrdiff_t postfix_width = 0;
6173
40.4k
        if (it != rng.end()) {
6174
40.2k
            SCN_TRY(postfix_result,
6175
40.2k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
40.2k
                                 rd.skip_ws_before_read(), prefix_width,
6177
40.2k
                                 value_width));
6178
40.2k
            std::tie(it, postfix_width) = postfix_result;
6179
40.2k
        }
6180
6181
40.4k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
40.4k
                                                 value_width, postfix_width);
6183
40.4k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
40.4k
        return it;
6188
40.4k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEfEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
81.8k
    {
6124
81.8k
        const bool need_skipped_width =
6125
81.8k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
81.8k
        auto it = rng.begin();
6129
81.8k
        std::ptrdiff_t prefix_width = 0;
6130
81.8k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
81.8k
        else {
6138
81.8k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
81.1k
            std::tie(it, prefix_width) = prefix_result;
6140
81.1k
        }
6141
81.1k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
81.1k
        std::ptrdiff_t value_width = 0;
6145
81.1k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
81.1k
        else {
6161
81.1k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
41.5k
                                             specs, value, loc));
6163
6164
41.5k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
41.5k
        }
6170
6171
        // Read postfix
6172
41.5k
        std::ptrdiff_t postfix_width = 0;
6173
41.5k
        if (it != rng.end()) {
6174
41.3k
            SCN_TRY(postfix_result,
6175
41.3k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
41.3k
                                 rd.skip_ws_before_read(), prefix_width,
6177
41.3k
                                 value_width));
6178
41.3k
            std::tie(it, postfix_width) = postfix_result;
6179
41.3k
        }
6180
6181
41.5k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
41.5k
                                                 value_width, postfix_width);
6183
41.5k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
41.5k
        return it;
6188
41.5k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEdEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Line
Count
Source
6123
82.5k
    {
6124
82.5k
        const bool need_skipped_width =
6125
82.5k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
82.5k
        auto it = rng.begin();
6129
82.5k
        std::ptrdiff_t prefix_width = 0;
6130
82.5k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
82.5k
        else {
6138
82.5k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
81.8k
            std::tie(it, prefix_width) = prefix_result;
6140
81.8k
        }
6141
81.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
81.8k
        std::ptrdiff_t value_width = 0;
6145
81.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
81.8k
        else {
6161
81.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
42.3k
                                             specs, value, loc));
6163
6164
42.3k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
42.3k
        }
6170
6171
        // Read postfix
6172
42.3k
        std::ptrdiff_t postfix_width = 0;
6173
42.3k
        if (it != rng.end()) {
6174
42.0k
            SCN_TRY(postfix_result,
6175
42.0k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
42.0k
                                 rd.skip_ws_before_read(), prefix_width,
6177
42.0k
                                 value_width));
6178
42.0k
            std::tie(it, postfix_width) = postfix_result;
6179
42.0k
        }
6180
6181
42.3k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
42.3k
                                                 value_width, postfix_width);
6183
42.3k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
42.3k
        return it;
6188
42.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEeEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIcNSJ_11char_traitsIcEENSJ_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIcNSB_IcEENS9_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
_ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__112basic_stringIwNSJ_11char_traitsIwEENSJ_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SR_RT1_
Line
Count
Source
6123
1.45M
    {
6124
1.45M
        const bool need_skipped_width =
6125
1.45M
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
1.45M
        auto it = rng.begin();
6129
1.45M
        std::ptrdiff_t prefix_width = 0;
6130
1.45M
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
1.45M
        else {
6138
1.45M
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
1.44M
            std::tie(it, prefix_width) = prefix_result;
6140
1.44M
        }
6141
1.44M
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
1.44M
        std::ptrdiff_t value_width = 0;
6145
1.44M
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
1.44M
        else {
6161
1.44M
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
1.43M
                                             specs, value, loc));
6163
6164
1.43M
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
1.43M
        }
6170
6171
        // Read postfix
6172
1.43M
        std::ptrdiff_t postfix_width = 0;
6173
1.43M
        if (it != rng.end()) {
6174
1.43M
            SCN_TRY(postfix_result,
6175
1.43M
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
1.43M
                                 rd.skip_ws_before_read(), prefix_width,
6177
1.43M
                                 value_width));
6178
1.43M
            std::tie(it, postfix_width) = postfix_result;
6179
1.43M
        }
6180
6181
1.43M
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
1.43M
                                                 value_width, postfix_width);
6183
1.43M
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
1.43M
        return it;
6188
1.43M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS9_12basic_stringIwSC_NS9_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIcNSJ_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENSA_IcNSB_IcEEEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENSt3__117basic_string_viewIwNSJ_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SP_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEESD_EENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
247k
    {
6124
247k
        const bool need_skipped_width =
6125
247k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
247k
        auto it = rng.begin();
6129
247k
        std::ptrdiff_t prefix_width = 0;
6130
247k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
247k
        else {
6138
247k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
244k
            std::tie(it, prefix_width) = prefix_result;
6140
244k
        }
6141
244k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
244k
        std::ptrdiff_t value_width = 0;
6145
244k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
244k
        else {
6161
244k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
223k
                                             specs, value, loc));
6163
6164
223k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
223k
        }
6170
6171
        // Read postfix
6172
223k
        std::ptrdiff_t postfix_width = 0;
6173
223k
        if (it != rng.end()) {
6174
222k
            SCN_TRY(postfix_result,
6175
222k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
222k
                                 rd.skip_ws_before_read(), prefix_width,
6177
222k
                                 value_width));
6178
222k
            std::tie(it, postfix_width) = postfix_result;
6179
222k
        }
6180
6181
223k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
223k
                                                 value_width, postfix_width);
6183
223k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
223k
        return it;
6188
223k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
321k
    {
6124
321k
        const bool need_skipped_width =
6125
321k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
321k
        auto it = rng.begin();
6129
321k
        std::ptrdiff_t prefix_width = 0;
6130
321k
        if (specs.precision != 0) {
6131
294
            auto max_width_view = take_width(rng, specs.precision);
6132
294
            SCN_TRY(prefix_result,
6133
274
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
274
            it = prefix_result.first.base();
6135
274
            prefix_width = prefix_result.second;
6136
274
        }
6137
321k
        else {
6138
321k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
317k
            std::tie(it, prefix_width) = prefix_result;
6140
317k
        }
6141
317k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
317k
        std::ptrdiff_t value_width = 0;
6145
317k
        if (specs.precision != 0) {
6146
274
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
268
            const auto initial_width = specs.precision - prefix_width;
6154
268
            auto max_width_view =
6155
268
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
268
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
317k
        else {
6161
317k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
297k
                                             specs, value, loc));
6163
6164
297k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
297k
        }
6170
6171
        // Read postfix
6172
297k
        std::ptrdiff_t postfix_width = 0;
6173
297k
        if (it != rng.end()) {
6174
294k
            SCN_TRY(postfix_result,
6175
294k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
294k
                                 rd.skip_ws_before_read(), prefix_width,
6177
294k
                                 value_width));
6178
294k
            std::tie(it, postfix_width) = postfix_result;
6179
294k
        }
6180
6181
297k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
297k
                                                 value_width, postfix_width);
6183
297k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
297k
        return it;
6188
297k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
326k
    {
6124
326k
        const bool need_skipped_width =
6125
326k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
326k
        auto it = rng.begin();
6129
326k
        std::ptrdiff_t prefix_width = 0;
6130
326k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
326k
        else {
6138
326k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
322k
            std::tie(it, prefix_width) = prefix_result;
6140
322k
        }
6141
322k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
322k
        std::ptrdiff_t value_width = 0;
6145
322k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
322k
        else {
6161
322k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
303k
                                             specs, value, loc));
6163
6164
303k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
303k
        }
6170
6171
        // Read postfix
6172
303k
        std::ptrdiff_t postfix_width = 0;
6173
303k
        if (it != rng.end()) {
6174
300k
            SCN_TRY(postfix_result,
6175
300k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
300k
                                 rd.skip_ws_before_read(), prefix_width,
6177
300k
                                 value_width));
6178
300k
            std::tie(it, postfix_width) = postfix_result;
6179
300k
        }
6180
6181
303k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
303k
                                                 value_width, postfix_width);
6183
303k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
303k
        return it;
6188
303k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
242k
    {
6124
242k
        const bool need_skipped_width =
6125
242k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
242k
        auto it = rng.begin();
6129
242k
        std::ptrdiff_t prefix_width = 0;
6130
242k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
242k
        else {
6138
242k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
240k
            std::tie(it, prefix_width) = prefix_result;
6140
240k
        }
6141
240k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
240k
        std::ptrdiff_t value_width = 0;
6145
240k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
240k
        else {
6161
240k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
219k
                                             specs, value, loc));
6163
6164
219k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
219k
        }
6170
6171
        // Read postfix
6172
219k
        std::ptrdiff_t postfix_width = 0;
6173
219k
        if (it != rng.end()) {
6174
217k
            SCN_TRY(postfix_result,
6175
217k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
217k
                                 rd.skip_ws_before_read(), prefix_width,
6177
217k
                                 value_width));
6178
217k
            std::tie(it, postfix_width) = postfix_result;
6179
217k
        }
6180
6181
219k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
219k
                                                 value_width, postfix_width);
6183
219k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
219k
        return it;
6188
219k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
276k
    {
6124
276k
        const bool need_skipped_width =
6125
276k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
276k
        auto it = rng.begin();
6129
276k
        std::ptrdiff_t prefix_width = 0;
6130
276k
        if (specs.precision != 0) {
6131
294
            auto max_width_view = take_width(rng, specs.precision);
6132
294
            SCN_TRY(prefix_result,
6133
274
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
274
            it = prefix_result.first.base();
6135
274
            prefix_width = prefix_result.second;
6136
274
        }
6137
276k
        else {
6138
276k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
273k
            std::tie(it, prefix_width) = prefix_result;
6140
273k
        }
6141
273k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
273k
        std::ptrdiff_t value_width = 0;
6145
273k
        if (specs.precision != 0) {
6146
274
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
268
            const auto initial_width = specs.precision - prefix_width;
6154
268
            auto max_width_view =
6155
268
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
268
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
273k
        else {
6161
273k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
252k
                                             specs, value, loc));
6163
6164
252k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
252k
        }
6170
6171
        // Read postfix
6172
252k
        std::ptrdiff_t postfix_width = 0;
6173
252k
        if (it != rng.end()) {
6174
250k
            SCN_TRY(postfix_result,
6175
250k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
250k
                                 rd.skip_ws_before_read(), prefix_width,
6177
250k
                                 value_width));
6178
250k
            std::tie(it, postfix_width) = postfix_result;
6179
250k
        }
6180
6181
252k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
252k
                                                 value_width, postfix_width);
6183
252k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
252k
        return it;
6188
252k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_19reader_impl_for_intIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
278k
    {
6124
278k
        const bool need_skipped_width =
6125
278k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
278k
        auto it = rng.begin();
6129
278k
        std::ptrdiff_t prefix_width = 0;
6130
278k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
278k
        else {
6138
278k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
276k
            std::tie(it, prefix_width) = prefix_result;
6140
276k
        }
6141
276k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
276k
        std::ptrdiff_t value_width = 0;
6145
276k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
276k
        else {
6161
276k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
255k
                                             specs, value, loc));
6163
6164
255k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
255k
        }
6170
6171
        // Read postfix
6172
255k
        std::ptrdiff_t postfix_width = 0;
6173
255k
        if (it != rng.end()) {
6174
253k
            SCN_TRY(postfix_result,
6175
253k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
253k
                                 rd.skip_ws_before_read(), prefix_width,
6177
253k
                                 value_width));
6178
253k
            std::tie(it, postfix_width) = postfix_result;
6179
253k
        }
6180
6181
255k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
255k
                                                 value_width, postfix_width);
6183
255k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
255k
        return it;
6188
255k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6123
468
    {
6124
468
        const bool need_skipped_width =
6125
468
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
468
        auto it = rng.begin();
6129
468
        std::ptrdiff_t prefix_width = 0;
6130
468
        if (specs.precision != 0) {
6131
254
            auto max_width_view = take_width(rng, specs.precision);
6132
254
            SCN_TRY(prefix_result,
6133
242
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
242
            it = prefix_result.first.base();
6135
242
            prefix_width = prefix_result.second;
6136
242
        }
6137
214
        else {
6138
214
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
214
            std::tie(it, prefix_width) = prefix_result;
6140
214
        }
6141
456
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
456
        std::ptrdiff_t value_width = 0;
6145
456
        if (specs.precision != 0) {
6146
242
            if (specs.precision <= prefix_width) {
6147
4
                return unexpected_scan_error(
6148
4
                    scan_error::invalid_scanned_value,
6149
4
                    "Too many fill characters before value, "
6150
4
                    "precision exceeded before reading value");
6151
4
            }
6152
6153
238
            const auto initial_width = specs.precision - prefix_width;
6154
238
            auto max_width_view =
6155
238
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
238
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
214
        else {
6161
214
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
724
    {
6124
724
        const bool need_skipped_width =
6125
724
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
724
        auto it = rng.begin();
6129
724
        std::ptrdiff_t prefix_width = 0;
6130
724
        if (specs.precision != 0) {
6131
360
            auto max_width_view = take_width(rng, specs.precision);
6132
360
            SCN_TRY(prefix_result,
6133
336
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
336
            it = prefix_result.first.base();
6135
336
            prefix_width = prefix_result.second;
6136
336
        }
6137
364
        else {
6138
364
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
364
            std::tie(it, prefix_width) = prefix_result;
6140
364
        }
6141
700
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
700
        std::ptrdiff_t value_width = 0;
6145
700
        if (specs.precision != 0) {
6146
336
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
330
            const auto initial_width = specs.precision - prefix_width;
6154
330
            auto max_width_view =
6155
330
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
330
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
364
        else {
6161
364
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_20reader_impl_for_charIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
518
    {
6124
518
        const bool need_skipped_width =
6125
518
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
518
        auto it = rng.begin();
6129
518
        std::ptrdiff_t prefix_width = 0;
6130
518
        if (specs.precision != 0) {
6131
286
            auto max_width_view = take_width(rng, specs.precision);
6132
286
            SCN_TRY(prefix_result,
6133
286
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
286
            it = prefix_result.first.base();
6135
286
            prefix_width = prefix_result.second;
6136
286
        }
6137
232
        else {
6138
232
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
232
            std::tie(it, prefix_width) = prefix_result;
6140
232
        }
6141
518
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
518
        std::ptrdiff_t value_width = 0;
6145
518
        if (specs.precision != 0) {
6146
286
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
280
            const auto initial_width = specs.precision - prefix_width;
6154
280
            auto max_width_view =
6155
280
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
280
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
248
            it = w_it.base();
6158
248
            value_width = initial_width - w_it.count();
6159
248
        }
6160
232
        else {
6161
232
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
210
                                             specs, value, loc));
6163
6164
210
            if (need_skipped_width) {
6165
150
                value_width = calculate_text_width(
6166
150
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
150
                        .view());
6168
150
            }
6169
210
        }
6170
6171
        // Read postfix
6172
458
        std::ptrdiff_t postfix_width = 0;
6173
458
        if (it != rng.end()) {
6174
458
            SCN_TRY(postfix_result,
6175
458
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
458
                                 rd.skip_ws_before_read(), prefix_width,
6177
458
                                 value_width));
6178
458
            std::tie(it, postfix_width) = postfix_result;
6179
458
        }
6180
6181
458
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
458
                                                 value_width, postfix_width);
6183
458
            !e) {
6184
134
            return unexpected(e);
6185
134
        }
6186
6187
324
        return it;
6188
458
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
242k
    {
6124
242k
        const bool need_skipped_width =
6125
242k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
242k
        auto it = rng.begin();
6129
242k
        std::ptrdiff_t prefix_width = 0;
6130
242k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
242k
        else {
6138
242k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
239k
            std::tie(it, prefix_width) = prefix_result;
6140
239k
        }
6141
239k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
239k
        std::ptrdiff_t value_width = 0;
6145
239k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
239k
        else {
6161
239k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
222k
                                             specs, value, loc));
6163
6164
222k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
222k
        }
6170
6171
        // Read postfix
6172
222k
        std::ptrdiff_t postfix_width = 0;
6173
222k
        if (it != rng.end()) {
6174
219k
            SCN_TRY(postfix_result,
6175
219k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
219k
                                 rd.skip_ws_before_read(), prefix_width,
6177
219k
                                 value_width));
6178
219k
            std::tie(it, postfix_width) = postfix_result;
6179
219k
        }
6180
6181
222k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
222k
                                                 value_width, postfix_width);
6183
222k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
222k
        return it;
6188
222k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
251k
    {
6124
251k
        const bool need_skipped_width =
6125
251k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
251k
        auto it = rng.begin();
6129
251k
        std::ptrdiff_t prefix_width = 0;
6130
251k
        if (specs.precision != 0) {
6131
292
            auto max_width_view = take_width(rng, specs.precision);
6132
292
            SCN_TRY(prefix_result,
6133
274
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
274
            it = prefix_result.first.base();
6135
274
            prefix_width = prefix_result.second;
6136
274
        }
6137
251k
        else {
6138
251k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
247k
            std::tie(it, prefix_width) = prefix_result;
6140
247k
        }
6141
247k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
247k
        std::ptrdiff_t value_width = 0;
6145
247k
        if (specs.precision != 0) {
6146
274
            if (specs.precision <= prefix_width) {
6147
8
                return unexpected_scan_error(
6148
8
                    scan_error::invalid_scanned_value,
6149
8
                    "Too many fill characters before value, "
6150
8
                    "precision exceeded before reading value");
6151
8
            }
6152
6153
266
            const auto initial_width = specs.precision - prefix_width;
6154
266
            auto max_width_view =
6155
266
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
266
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
247k
        else {
6161
247k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
231k
                                             specs, value, loc));
6163
6164
231k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
231k
        }
6170
6171
        // Read postfix
6172
231k
        std::ptrdiff_t postfix_width = 0;
6173
231k
        if (it != rng.end()) {
6174
227k
            SCN_TRY(postfix_result,
6175
227k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
227k
                                 rd.skip_ws_before_read(), prefix_width,
6177
227k
                                 value_width));
6178
227k
            std::tie(it, postfix_width) = postfix_result;
6179
227k
        }
6180
6181
231k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
231k
                                                 value_width, postfix_width);
6183
231k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
231k
        return it;
6188
231k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_21reader_impl_for_floatIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
254k
    {
6124
254k
        const bool need_skipped_width =
6125
254k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
254k
        auto it = rng.begin();
6129
254k
        std::ptrdiff_t prefix_width = 0;
6130
254k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
254k
        else {
6138
254k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
249k
            std::tie(it, prefix_width) = prefix_result;
6140
249k
        }
6141
249k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
249k
        std::ptrdiff_t value_width = 0;
6145
249k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
249k
        else {
6161
249k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
233k
                                             specs, value, loc));
6163
6164
233k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
233k
        }
6170
6171
        // Read postfix
6172
233k
        std::ptrdiff_t postfix_width = 0;
6173
233k
        if (it != rng.end()) {
6174
230k
            SCN_TRY(postfix_result,
6175
230k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
230k
                                 rd.skip_ws_before_read(), prefix_width,
6177
230k
                                 value_width));
6178
230k
            std::tie(it, postfix_width) = postfix_result;
6179
230k
        }
6180
6181
233k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
233k
                                                 value_width, postfix_width);
6183
233k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
233k
        return it;
6188
233k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6123
119k
    {
6124
119k
        const bool need_skipped_width =
6125
119k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
119k
        auto it = rng.begin();
6129
119k
        std::ptrdiff_t prefix_width = 0;
6130
119k
        if (specs.precision != 0) {
6131
724
            auto max_width_view = take_width(rng, specs.precision);
6132
724
            SCN_TRY(prefix_result,
6133
708
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
708
            it = prefix_result.first.base();
6135
708
            prefix_width = prefix_result.second;
6136
708
        }
6137
118k
        else {
6138
118k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
117k
            std::tie(it, prefix_width) = prefix_result;
6140
117k
        }
6141
117k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
117k
        std::ptrdiff_t value_width = 0;
6145
117k
        if (specs.precision != 0) {
6146
708
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
702
            const auto initial_width = specs.precision - prefix_width;
6154
702
            auto max_width_view =
6155
702
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
702
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
350
            it = w_it.base();
6158
350
            value_width = initial_width - w_it.count();
6159
350
        }
6160
117k
        else {
6161
117k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
106k
                                             specs, value, loc));
6163
6164
106k
            if (need_skipped_width) {
6165
188
                value_width = calculate_text_width(
6166
188
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
188
                        .view());
6168
188
            }
6169
106k
        }
6170
6171
        // Read postfix
6172
106k
        std::ptrdiff_t postfix_width = 0;
6173
106k
        if (it != rng.end()) {
6174
105k
            SCN_TRY(postfix_result,
6175
105k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
105k
                                 rd.skip_ws_before_read(), prefix_width,
6177
105k
                                 value_width));
6178
105k
            std::tie(it, postfix_width) = postfix_result;
6179
105k
        }
6180
6181
106k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
106k
                                                 value_width, postfix_width);
6183
106k
            !e) {
6184
104
            return unexpected(e);
6185
104
        }
6186
6187
106k
        return it;
6188
106k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
119k
    {
6124
119k
        const bool need_skipped_width =
6125
119k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
119k
        auto it = rng.begin();
6129
119k
        std::ptrdiff_t prefix_width = 0;
6130
119k
        if (specs.precision != 0) {
6131
724
            auto max_width_view = take_width(rng, specs.precision);
6132
724
            SCN_TRY(prefix_result,
6133
708
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
708
            it = prefix_result.first.base();
6135
708
            prefix_width = prefix_result.second;
6136
708
        }
6137
118k
        else {
6138
118k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
117k
            std::tie(it, prefix_width) = prefix_result;
6140
117k
        }
6141
117k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
117k
        std::ptrdiff_t value_width = 0;
6145
117k
        if (specs.precision != 0) {
6146
708
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
702
            const auto initial_width = specs.precision - prefix_width;
6154
702
            auto max_width_view =
6155
702
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
702
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
350
            it = w_it.base();
6158
350
            value_width = initial_width - w_it.count();
6159
350
        }
6160
117k
        else {
6161
117k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
106k
                                             specs, value, loc));
6163
6164
106k
            if (need_skipped_width) {
6165
188
                value_width = calculate_text_width(
6166
188
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
188
                        .view());
6168
188
            }
6169
106k
        }
6170
6171
        // Read postfix
6172
106k
        std::ptrdiff_t postfix_width = 0;
6173
106k
        if (it != rng.end()) {
6174
105k
            SCN_TRY(postfix_result,
6175
105k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
105k
                                 rd.skip_ws_before_read(), prefix_width,
6177
105k
                                 value_width));
6178
105k
            std::tie(it, postfix_width) = postfix_result;
6179
105k
        }
6180
6181
106k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
106k
                                                 value_width, postfix_width);
6183
106k
            !e) {
6184
104
            return unexpected(e);
6185
104
        }
6186
6187
106k
        return it;
6188
106k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_22reader_impl_for_stringIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
5.10k
    {
6124
5.10k
        const bool need_skipped_width =
6125
5.10k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
5.10k
        auto it = rng.begin();
6129
5.10k
        std::ptrdiff_t prefix_width = 0;
6130
5.10k
        if (specs.precision != 0) {
6131
724
            auto max_width_view = take_width(rng, specs.precision);
6132
724
            SCN_TRY(prefix_result,
6133
708
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
708
            it = prefix_result.first.base();
6135
708
            prefix_width = prefix_result.second;
6136
708
        }
6137
4.38k
        else {
6138
4.38k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
4.38k
            std::tie(it, prefix_width) = prefix_result;
6140
4.38k
        }
6141
5.09k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
5.09k
        std::ptrdiff_t value_width = 0;
6145
5.09k
        if (specs.precision != 0) {
6146
708
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
702
            const auto initial_width = specs.precision - prefix_width;
6154
702
            auto max_width_view =
6155
702
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
702
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
350
            it = w_it.base();
6158
350
            value_width = initial_width - w_it.count();
6159
350
        }
6160
4.38k
        else {
6161
4.38k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
1.25k
                                             specs, value, loc));
6163
6164
1.25k
            if (need_skipped_width) {
6165
188
                value_width = calculate_text_width(
6166
188
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
188
                        .view());
6168
188
            }
6169
1.25k
        }
6170
6171
        // Read postfix
6172
1.60k
        std::ptrdiff_t postfix_width = 0;
6173
1.60k
        if (it != rng.end()) {
6174
1.21k
            SCN_TRY(postfix_result,
6175
1.21k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
1.21k
                                 rd.skip_ws_before_read(), prefix_width,
6177
1.21k
                                 value_width));
6178
1.21k
            std::tie(it, postfix_width) = postfix_result;
6179
1.21k
        }
6180
6181
1.60k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
1.60k
                                                 value_width, postfix_width);
6183
1.60k
            !e) {
6184
104
            return unexpected(e);
6185
104
        }
6186
6187
1.50k
        return it;
6188
1.60k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_29reader_impl_for_regex_matchesIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_23reader_impl_for_voidptrIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_20reader_impl_for_boolIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_21reader_impl_for_wcharIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEwEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_26reader_impl_for_code_pointIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIcEEE4implINS1_25reader_impl_for_monostateIcEENSt3__117basic_string_viewIcNS9_11char_traitsIcEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEaEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.1k
    {
6124
47.1k
        const bool need_skipped_width =
6125
47.1k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.1k
        auto it = rng.begin();
6129
47.1k
        std::ptrdiff_t prefix_width = 0;
6130
47.1k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.1k
        else {
6138
47.1k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
460
                                             specs, value, loc));
6163
6164
460
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
460
        }
6170
6171
        // Read postfix
6172
460
        std::ptrdiff_t postfix_width = 0;
6173
460
        if (it != rng.end()) {
6174
292
            SCN_TRY(postfix_result,
6175
292
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
292
                                 rd.skip_ws_before_read(), prefix_width,
6177
292
                                 value_width));
6178
292
            std::tie(it, postfix_width) = postfix_result;
6179
292
        }
6180
6181
460
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
460
                                                 value_width, postfix_width);
6183
460
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
460
        return it;
6188
460
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEsEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.7k
    {
6124
47.7k
        const bool need_skipped_width =
6125
47.7k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.7k
        auto it = rng.begin();
6129
47.7k
        std::ptrdiff_t prefix_width = 0;
6130
47.7k
        if (specs.precision != 0) {
6131
122
            auto max_width_view = take_width(rng, specs.precision);
6132
122
            SCN_TRY(prefix_result,
6133
122
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
122
            it = prefix_result.first.base();
6135
122
            prefix_width = prefix_result.second;
6136
122
        }
6137
47.5k
        else {
6138
47.5k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
47.2k
            std::tie(it, prefix_width) = prefix_result;
6140
47.2k
        }
6141
47.3k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
47.3k
        std::ptrdiff_t value_width = 0;
6145
47.3k
        if (specs.precision != 0) {
6146
122
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
120
            const auto initial_width = specs.precision - prefix_width;
6154
120
            auto max_width_view =
6155
120
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
120
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
47.2k
        else {
6161
47.2k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
546
                                             specs, value, loc));
6163
6164
546
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
546
        }
6170
6171
        // Read postfix
6172
546
        std::ptrdiff_t postfix_width = 0;
6173
546
        if (it != rng.end()) {
6174
366
            SCN_TRY(postfix_result,
6175
366
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
366
                                 rd.skip_ws_before_read(), prefix_width,
6177
366
                                 value_width));
6178
366
            std::tie(it, postfix_width) = postfix_result;
6179
366
        }
6180
6181
546
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
546
                                                 value_width, postfix_width);
6183
546
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
546
        return it;
6188
546
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EElEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EExEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.3k
    {
6124
47.3k
        const bool need_skipped_width =
6125
47.3k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.3k
        auto it = rng.begin();
6129
47.3k
        std::ptrdiff_t prefix_width = 0;
6130
47.3k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.3k
        else {
6138
47.3k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
47.0k
            std::tie(it, prefix_width) = prefix_result;
6140
47.0k
        }
6141
47.0k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
47.0k
        std::ptrdiff_t value_width = 0;
6145
47.0k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
47.0k
        else {
6161
47.0k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
654
                                             specs, value, loc));
6163
6164
654
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
654
        }
6170
6171
        // Read postfix
6172
654
        std::ptrdiff_t postfix_width = 0;
6173
654
        if (it != rng.end()) {
6174
474
            SCN_TRY(postfix_result,
6175
474
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
474
                                 rd.skip_ws_before_read(), prefix_width,
6177
474
                                 value_width));
6178
474
            std::tie(it, postfix_width) = postfix_result;
6179
474
        }
6180
6181
654
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
654
                                                 value_width, postfix_width);
6183
654
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
654
        return it;
6188
654
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEhEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.0k
    {
6124
47.0k
        const bool need_skipped_width =
6125
47.0k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.0k
        auto it = rng.begin();
6129
47.0k
        std::ptrdiff_t prefix_width = 0;
6130
47.0k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.0k
        else {
6138
47.0k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.8k
            std::tie(it, prefix_width) = prefix_result;
6140
46.8k
        }
6141
46.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.8k
        std::ptrdiff_t value_width = 0;
6145
46.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.8k
        else {
6161
46.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
392
                                             specs, value, loc));
6163
6164
392
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
392
        }
6170
6171
        // Read postfix
6172
392
        std::ptrdiff_t postfix_width = 0;
6173
392
        if (it != rng.end()) {
6174
264
            SCN_TRY(postfix_result,
6175
264
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
264
                                 rd.skip_ws_before_read(), prefix_width,
6177
264
                                 value_width));
6178
264
            std::tie(it, postfix_width) = postfix_result;
6179
264
        }
6180
6181
392
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
392
                                                 value_width, postfix_width);
6183
392
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
392
        return it;
6188
392
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEtEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEjEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.5k
    {
6124
47.5k
        const bool need_skipped_width =
6125
47.5k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.5k
        auto it = rng.begin();
6129
47.5k
        std::ptrdiff_t prefix_width = 0;
6130
47.5k
        if (specs.precision != 0) {
6131
122
            auto max_width_view = take_width(rng, specs.precision);
6132
122
            SCN_TRY(prefix_result,
6133
122
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
122
            it = prefix_result.first.base();
6135
122
            prefix_width = prefix_result.second;
6136
122
        }
6137
47.4k
        else {
6138
47.4k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
47.1k
            std::tie(it, prefix_width) = prefix_result;
6140
47.1k
        }
6141
47.3k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
47.3k
        std::ptrdiff_t value_width = 0;
6145
47.3k
        if (specs.precision != 0) {
6146
122
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
120
            const auto initial_width = specs.precision - prefix_width;
6154
120
            auto max_width_view =
6155
120
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
120
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
47.1k
        else {
6161
47.1k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
438
                                             specs, value, loc));
6163
6164
438
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
438
        }
6170
6171
        // Read postfix
6172
438
        std::ptrdiff_t postfix_width = 0;
6173
438
        if (it != rng.end()) {
6174
310
            SCN_TRY(postfix_result,
6175
310
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
310
                                 rd.skip_ws_before_read(), prefix_width,
6177
310
                                 value_width));
6178
310
            std::tie(it, postfix_width) = postfix_result;
6179
310
        }
6180
6181
438
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
438
                                                 value_width, postfix_width);
6183
438
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
438
        return it;
6188
438
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEmEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_19reader_impl_for_intIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEyEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
47.2k
    {
6124
47.2k
        const bool need_skipped_width =
6125
47.2k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
47.2k
        auto it = rng.begin();
6129
47.2k
        std::ptrdiff_t prefix_width = 0;
6130
47.2k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
47.2k
        else {
6138
47.2k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
46.9k
            std::tie(it, prefix_width) = prefix_result;
6140
46.9k
        }
6141
46.9k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
46.9k
        std::ptrdiff_t value_width = 0;
6145
46.9k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
46.9k
        else {
6161
46.9k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
532
                                             specs, value, loc));
6163
6164
532
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
532
        }
6170
6171
        // Read postfix
6172
532
        std::ptrdiff_t postfix_width = 0;
6173
532
        if (it != rng.end()) {
6174
404
            SCN_TRY(postfix_result,
6175
404
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
404
                                 rd.skip_ws_before_read(), prefix_width,
6177
404
                                 value_width));
6178
404
            std::tie(it, postfix_width) = postfix_result;
6179
404
        }
6180
6181
532
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
532
                                                 value_width, postfix_width);
6183
532
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
532
        return it;
6188
532
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Line
Count
Source
6123
398
    {
6124
398
        const bool need_skipped_width =
6125
398
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
398
        auto it = rng.begin();
6129
398
        std::ptrdiff_t prefix_width = 0;
6130
398
        if (specs.precision != 0) {
6131
100
            auto max_width_view = take_width(rng, specs.precision);
6132
100
            SCN_TRY(prefix_result,
6133
100
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
100
            it = prefix_result.first.base();
6135
100
            prefix_width = prefix_result.second;
6136
100
        }
6137
298
        else {
6138
298
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
298
            std::tie(it, prefix_width) = prefix_result;
6140
298
        }
6141
398
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
398
        std::ptrdiff_t value_width = 0;
6145
398
        if (specs.precision != 0) {
6146
100
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
98
            const auto initial_width = specs.precision - prefix_width;
6154
98
            auto max_width_view =
6155
98
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
98
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
298
        else {
6161
298
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
522
    {
6124
522
        const bool need_skipped_width =
6125
522
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
522
        auto it = rng.begin();
6129
522
        std::ptrdiff_t prefix_width = 0;
6130
522
        if (specs.precision != 0) {
6131
148
            auto max_width_view = take_width(rng, specs.precision);
6132
148
            SCN_TRY(prefix_result,
6133
148
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
148
            it = prefix_result.first.base();
6135
148
            prefix_width = prefix_result.second;
6136
148
        }
6137
374
        else {
6138
374
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
374
            std::tie(it, prefix_width) = prefix_result;
6140
374
        }
6141
522
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
522
        std::ptrdiff_t value_width = 0;
6145
522
        if (specs.precision != 0) {
6146
148
            if (specs.precision <= prefix_width) {
6147
4
                return unexpected_scan_error(
6148
4
                    scan_error::invalid_scanned_value,
6149
4
                    "Too many fill characters before value, "
6150
4
                    "precision exceeded before reading value");
6151
4
            }
6152
6153
144
            const auto initial_width = specs.precision - prefix_width;
6154
144
            auto max_width_view =
6155
144
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
144
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
374
        else {
6161
374
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
0
                                             specs, value, loc));
6163
6164
0
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
0
        }
6170
6171
        // Read postfix
6172
0
        std::ptrdiff_t postfix_width = 0;
6173
0
        if (it != rng.end()) {
6174
0
            SCN_TRY(postfix_result,
6175
0
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
0
                                 rd.skip_ws_before_read(), prefix_width,
6177
0
                                 value_width));
6178
0
            std::tie(it, postfix_width) = postfix_result;
6179
0
        }
6180
6181
0
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
0
                                                 value_width, postfix_width);
6183
0
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
0
        return it;
6188
0
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_wcharIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEwEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
432
    {
6124
432
        const bool need_skipped_width =
6125
432
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
432
        auto it = rng.begin();
6129
432
        std::ptrdiff_t prefix_width = 0;
6130
432
        if (specs.precision != 0) {
6131
116
            auto max_width_view = take_width(rng, specs.precision);
6132
116
            SCN_TRY(prefix_result,
6133
116
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
116
            it = prefix_result.first.base();
6135
116
            prefix_width = prefix_result.second;
6136
116
        }
6137
316
        else {
6138
316
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
316
            std::tie(it, prefix_width) = prefix_result;
6140
316
        }
6141
432
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
432
        std::ptrdiff_t value_width = 0;
6145
432
        if (specs.precision != 0) {
6146
116
            if (specs.precision <= prefix_width) {
6147
2
                return unexpected_scan_error(
6148
2
                    scan_error::invalid_scanned_value,
6149
2
                    "Too many fill characters before value, "
6150
2
                    "precision exceeded before reading value");
6151
2
            }
6152
6153
114
            const auto initial_width = specs.precision - prefix_width;
6154
114
            auto max_width_view =
6155
114
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
114
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
94
            it = w_it.base();
6158
94
            value_width = initial_width - w_it.count();
6159
94
        }
6160
316
        else {
6161
316
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
296
                                             specs, value, loc));
6163
6164
296
            if (need_skipped_width) {
6165
234
                value_width = calculate_text_width(
6166
234
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
234
                        .view());
6168
234
            }
6169
296
        }
6170
6171
        // Read postfix
6172
390
        std::ptrdiff_t postfix_width = 0;
6173
390
        if (it != rng.end()) {
6174
390
            SCN_TRY(postfix_result,
6175
390
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
390
                                 rd.skip_ws_before_read(), prefix_width,
6177
390
                                 value_width));
6178
390
            std::tie(it, postfix_width) = postfix_result;
6179
390
        }
6180
6181
390
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
390
                                                 value_width, postfix_width);
6183
390
            !e) {
6184
232
            return unexpected(e);
6185
232
        }
6186
6187
158
        return it;
6188
390
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEfEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
80.7k
    {
6124
80.7k
        const bool need_skipped_width =
6125
80.7k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
80.7k
        auto it = rng.begin();
6129
80.7k
        std::ptrdiff_t prefix_width = 0;
6130
80.7k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
80.7k
        else {
6138
80.7k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
80.1k
            std::tie(it, prefix_width) = prefix_result;
6140
80.1k
        }
6141
80.1k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
80.1k
        std::ptrdiff_t value_width = 0;
6145
80.1k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
80.1k
        else {
6161
80.1k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
40.5k
                                             specs, value, loc));
6163
6164
40.5k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
40.5k
        }
6170
6171
        // Read postfix
6172
40.5k
        std::ptrdiff_t postfix_width = 0;
6173
40.5k
        if (it != rng.end()) {
6174
40.3k
            SCN_TRY(postfix_result,
6175
40.3k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
40.3k
                                 rd.skip_ws_before_read(), prefix_width,
6177
40.3k
                                 value_width));
6178
40.3k
            std::tie(it, postfix_width) = postfix_result;
6179
40.3k
        }
6180
6181
40.5k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
40.5k
                                                 value_width, postfix_width);
6183
40.5k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
40.5k
        return it;
6188
40.5k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEdEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
82.2k
    {
6124
82.2k
        const bool need_skipped_width =
6125
82.2k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
82.2k
        auto it = rng.begin();
6129
82.2k
        std::ptrdiff_t prefix_width = 0;
6130
82.2k
        if (specs.precision != 0) {
6131
118
            auto max_width_view = take_width(rng, specs.precision);
6132
118
            SCN_TRY(prefix_result,
6133
118
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
118
            it = prefix_result.first.base();
6135
118
            prefix_width = prefix_result.second;
6136
118
        }
6137
82.1k
        else {
6138
82.1k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
81.4k
            std::tie(it, prefix_width) = prefix_result;
6140
81.4k
        }
6141
81.6k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
81.6k
        std::ptrdiff_t value_width = 0;
6145
81.6k
        if (specs.precision != 0) {
6146
118
            if (specs.precision <= prefix_width) {
6147
4
                return unexpected_scan_error(
6148
4
                    scan_error::invalid_scanned_value,
6149
4
                    "Too many fill characters before value, "
6150
4
                    "precision exceeded before reading value");
6151
4
            }
6152
6153
114
            const auto initial_width = specs.precision - prefix_width;
6154
114
            auto max_width_view =
6155
114
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
114
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
81.4k
        else {
6161
81.4k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
41.6k
                                             specs, value, loc));
6163
6164
41.6k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
41.6k
        }
6170
6171
        // Read postfix
6172
41.6k
        std::ptrdiff_t postfix_width = 0;
6173
41.6k
        if (it != rng.end()) {
6174
41.3k
            SCN_TRY(postfix_result,
6175
41.3k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
41.3k
                                 rd.skip_ws_before_read(), prefix_width,
6177
41.3k
                                 value_width));
6178
41.3k
            std::tie(it, postfix_width) = postfix_result;
6179
41.3k
        }
6180
6181
41.6k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
41.6k
                                                 value_width, postfix_width);
6183
41.6k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
41.6k
        return it;
6188
41.6k
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_21reader_impl_for_floatIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EEeEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Line
Count
Source
6123
82.6k
    {
6124
82.6k
        const bool need_skipped_width =
6125
82.6k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
82.6k
        auto it = rng.begin();
6129
82.6k
        std::ptrdiff_t prefix_width = 0;
6130
82.6k
        if (specs.precision != 0) {
6131
0
            auto max_width_view = take_width(rng, specs.precision);
6132
0
            SCN_TRY(prefix_result,
6133
0
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
0
            it = prefix_result.first.base();
6135
0
            prefix_width = prefix_result.second;
6136
0
        }
6137
82.6k
        else {
6138
82.6k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
81.8k
            std::tie(it, prefix_width) = prefix_result;
6140
81.8k
        }
6141
81.8k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
81.8k
        std::ptrdiff_t value_width = 0;
6145
81.8k
        if (specs.precision != 0) {
6146
0
            if (specs.precision <= prefix_width) {
6147
0
                return unexpected_scan_error(
6148
0
                    scan_error::invalid_scanned_value,
6149
0
                    "Too many fill characters before value, "
6150
0
                    "precision exceeded before reading value");
6151
0
            }
6152
6153
0
            const auto initial_width = specs.precision - prefix_width;
6154
0
            auto max_width_view =
6155
0
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
0
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
0
            it = w_it.base();
6158
0
            value_width = initial_width - w_it.count();
6159
0
        }
6160
81.8k
        else {
6161
81.8k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
42.3k
                                             specs, value, loc));
6163
6164
42.3k
            if (need_skipped_width) {
6165
0
                value_width = calculate_text_width(
6166
0
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
0
                        .view());
6168
0
            }
6169
42.3k
        }
6170
6171
        // Read postfix
6172
42.3k
        std::ptrdiff_t postfix_width = 0;
6173
42.3k
        if (it != rng.end()) {
6174
42.0k
            SCN_TRY(postfix_result,
6175
42.0k
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
42.0k
                                 rd.skip_ws_before_read(), prefix_width,
6177
42.0k
                                 value_width));
6178
42.0k
            std::tie(it, postfix_width) = postfix_result;
6179
42.0k
        }
6180
6181
42.3k
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
42.3k
                                                 value_width, postfix_width);
6183
42.3k
            !e) {
6184
0
            return unexpected(e);
6185
0
        }
6186
6187
42.3k
        return it;
6188
42.3k
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIcNSG_11char_traitsIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIcNSG_11char_traitsIcEENSG_9allocatorIcEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
2.40k
    {
6124
2.40k
        const bool need_skipped_width =
6125
2.40k
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
2.40k
        auto it = rng.begin();
6129
2.40k
        std::ptrdiff_t prefix_width = 0;
6130
2.40k
        if (specs.precision != 0) {
6131
148
            auto max_width_view = take_width(rng, specs.precision);
6132
148
            SCN_TRY(prefix_result,
6133
148
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
148
            it = prefix_result.first.base();
6135
148
            prefix_width = prefix_result.second;
6136
148
        }
6137
2.25k
        else {
6138
2.25k
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
2.25k
            std::tie(it, prefix_width) = prefix_result;
6140
2.25k
        }
6141
2.40k
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
2.40k
        std::ptrdiff_t value_width = 0;
6145
2.40k
        if (specs.precision != 0) {
6146
148
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
142
            const auto initial_width = specs.precision - prefix_width;
6154
142
            auto max_width_view =
6155
142
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
142
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
74
            it = w_it.base();
6158
74
            value_width = initial_width - w_it.count();
6159
74
        }
6160
2.25k
        else {
6161
2.25k
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
534
                                             specs, value, loc));
6163
6164
534
            if (need_skipped_width) {
6165
288
                value_width = calculate_text_width(
6166
288
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
288
                        .view());
6168
288
            }
6169
534
        }
6170
6171
        // Read postfix
6172
608
        std::ptrdiff_t postfix_width = 0;
6173
608
        if (it != rng.end()) {
6174
346
            SCN_TRY(postfix_result,
6175
346
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
346
                                 rd.skip_ws_before_read(), prefix_width,
6177
346
                                 value_width));
6178
346
            std::tie(it, postfix_width) = postfix_result;
6179
346
        }
6180
6181
608
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
608
                                                 value_width, postfix_width);
6183
608
            !e) {
6184
90
            return unexpected(e);
6185
90
        }
6186
6187
518
        return it;
6188
608
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__117basic_string_viewIwNSG_11char_traitsIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SM_RT1_
Line
Count
Source
6123
1.45M
    {
6124
1.45M
        const bool need_skipped_width =
6125
1.45M
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
1.45M
        auto it = rng.begin();
6129
1.45M
        std::ptrdiff_t prefix_width = 0;
6130
1.45M
        if (specs.precision != 0) {
6131
148
            auto max_width_view = take_width(rng, specs.precision);
6132
148
            SCN_TRY(prefix_result,
6133
148
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
148
            it = prefix_result.first.base();
6135
148
            prefix_width = prefix_result.second;
6136
148
        }
6137
1.45M
        else {
6138
1.45M
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
1.45M
            std::tie(it, prefix_width) = prefix_result;
6140
1.45M
        }
6141
1.45M
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
1.45M
        std::ptrdiff_t value_width = 0;
6145
1.45M
        if (specs.precision != 0) {
6146
148
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
142
            const auto initial_width = specs.precision - prefix_width;
6154
142
            auto max_width_view =
6155
142
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
142
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
74
            it = w_it.base();
6158
74
            value_width = initial_width - w_it.count();
6159
74
        }
6160
1.45M
        else {
6161
1.45M
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
1.43M
                                             specs, value, loc));
6163
6164
1.43M
            if (need_skipped_width) {
6165
288
                value_width = calculate_text_width(
6166
288
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
288
                        .view());
6168
288
            }
6169
1.43M
        }
6170
6171
        // Read postfix
6172
1.43M
        std::ptrdiff_t postfix_width = 0;
6173
1.43M
        if (it != rng.end()) {
6174
1.43M
            SCN_TRY(postfix_result,
6175
1.43M
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
1.43M
                                 rd.skip_ws_before_read(), prefix_width,
6177
1.43M
                                 value_width));
6178
1.43M
            std::tie(it, postfix_width) = postfix_result;
6179
1.43M
        }
6180
6181
1.43M
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
1.43M
                                                 value_width, postfix_width);
6183
1.43M
            !e) {
6184
90
            return unexpected(e);
6185
90
        }
6186
6187
1.43M
        return it;
6188
1.43M
    }
_ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_22reader_impl_for_stringIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENSt3__112basic_stringIwNSG_11char_traitsIwEENSG_9allocatorIwEEEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SO_RT1_
Line
Count
Source
6123
1.45M
    {
6124
1.45M
        const bool need_skipped_width =
6125
1.45M
            specs.width != 0 || specs.precision != 0;
6126
6127
        // Read prefix
6128
1.45M
        auto it = rng.begin();
6129
1.45M
        std::ptrdiff_t prefix_width = 0;
6130
1.45M
        if (specs.precision != 0) {
6131
148
            auto max_width_view = take_width(rng, specs.precision);
6132
148
            SCN_TRY(prefix_result,
6133
148
                    impl_prefix(max_width_view, rd.skip_ws_before_read()));
6134
148
            it = prefix_result.first.base();
6135
148
            prefix_width = prefix_result.second;
6136
148
        }
6137
1.45M
        else {
6138
1.45M
            SCN_TRY(prefix_result, impl_prefix(rng, rd.skip_ws_before_read()));
6139
1.45M
            std::tie(it, prefix_width) = prefix_result;
6140
1.45M
        }
6141
1.45M
        auto prefix_end_it = it;
6142
6143
        // Read value
6144
1.45M
        std::ptrdiff_t value_width = 0;
6145
1.45M
        if (specs.precision != 0) {
6146
148
            if (specs.precision <= prefix_width) {
6147
6
                return unexpected_scan_error(
6148
6
                    scan_error::invalid_scanned_value,
6149
6
                    "Too many fill characters before value, "
6150
6
                    "precision exceeded before reading value");
6151
6
            }
6152
6153
142
            const auto initial_width = specs.precision - prefix_width;
6154
142
            auto max_width_view =
6155
142
                take_width(ranges::subrange{it, rng.end()}, initial_width);
6156
142
            SCN_TRY(w_it, rd.read_specs(max_width_view, specs, value, loc));
6157
74
            it = w_it.base();
6158
74
            value_width = initial_width - w_it.count();
6159
74
        }
6160
1.45M
        else {
6161
1.45M
            SCN_TRY_ASSIGN(it, rd.read_specs(ranges::subrange{it, rng.end()},
6162
1.43M
                                             specs, value, loc));
6163
6164
1.43M
            if (need_skipped_width) {
6165
288
                value_width = calculate_text_width(
6166
288
                    make_contiguous_buffer(ranges::subrange{prefix_end_it, it})
6167
288
                        .view());
6168
288
            }
6169
1.43M
        }
6170
6171
        // Read postfix
6172
1.43M
        std::ptrdiff_t postfix_width = 0;
6173
1.43M
        if (it != rng.end()) {
6174
1.43M
            SCN_TRY(postfix_result,
6175
1.43M
                    impl_postfix(ranges::subrange{it, rng.end()},
6176
1.43M
                                 rd.skip_ws_before_read(), prefix_width,
6177
1.43M
                                 value_width));
6178
1.43M
            std::tie(it, postfix_width) = postfix_result;
6179
1.43M
        }
6180
6181
1.43M
        if (auto e = check_widths_for_arg_reader(specs, prefix_width,
6182
1.43M
                                                 value_width, postfix_width);
6183
1.43M
            !e) {
6184
90
            return unexpected(e);
6185
90
        }
6186
6187
1.43M
        return it;
6188
1.43M
    }
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIcEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_29reader_impl_for_regex_matchesIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_19basic_regex_matchesIwEEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SJ_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS1_29basic_contiguous_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeIPKwSE_EENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SI_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEPvEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_23reader_impl_for_voidptrIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEPvEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEbEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_boolIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEbEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEcEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_20reader_impl_for_charIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEcEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEEDiEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SK_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_26reader_impl_for_code_pointIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEDiEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SG_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS9_18default_sentinel_tEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS9_5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SL_RT1_
Unexecuted instantiation: _ZN3scn2v34impl10arg_readerINS0_18basic_scan_contextIwEEE4implINS1_25reader_impl_for_monostateIwEENSt3__117basic_string_viewIwNS9_11char_traitsIwEEEENS0_9monostateEEENS0_13scan_expectedIDTclL_ZNS0_6ranges5beginEEclsr3stdE7declvalIRT0_EEEEEERT_SH_RT1_
6189
6190
    template <typename T>
6191
    scan_expected<iterator> operator()(T& value)
6192
10.8M
    {
6193
10.8M
        if constexpr (!detail::is_type_disabled<T> &&
6194
10.8M
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
4.68M
            auto rd = make_reader<T, char_type>();
6198
6.19M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
68.9k
                return unexpected(e);
6200
68.9k
            }
6201
6202
6.12M
            return impl(rd, range, value);
6203
6.19M
        }
6204
4.68M
        else if constexpr (!detail::is_type_disabled<T>) {
6205
4.68M
            auto rd = make_reader<T, char_type>();
6206
4.68M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
13.8k
                return unexpected(e);
6208
13.8k
            }
6209
6210
4.67M
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
4.67M
                specs.width != 0) {
6212
4.67M
                return impl(rd, range, value);
6213
4.67M
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
10.8M
        else {
6221
10.8M
            SCN_EXPECT(false);
6222
10.8M
            SCN_UNREACHABLE;
6223
10.8M
        }
6224
10.8M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
6192
248k
    {
6193
248k
        if constexpr (!detail::is_type_disabled<T> &&
6194
248k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
248k
            auto rd = make_reader<T, char_type>();
6198
248k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
248k
                return unexpected(e);
6200
248k
            }
6201
6202
248k
            return impl(rd, range, value);
6203
248k
        }
6204
248k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
248k
            auto rd = make_reader<T, char_type>();
6206
248k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
248k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
248k
                specs.width != 0) {
6212
248k
                return impl(rd, range, value);
6213
248k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
248k
        else {
6221
248k
            SCN_EXPECT(false);
6222
248k
            SCN_UNREACHABLE;
6223
248k
        }
6224
248k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
6192
322k
    {
6193
322k
        if constexpr (!detail::is_type_disabled<T> &&
6194
322k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
322k
            auto rd = make_reader<T, char_type>();
6198
322k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
322k
                return unexpected(e);
6200
322k
            }
6201
6202
322k
            return impl(rd, range, value);
6203
322k
        }
6204
322k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
322k
            auto rd = make_reader<T, char_type>();
6206
322k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
322k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
322k
                specs.width != 0) {
6212
322k
                return impl(rd, range, value);
6213
322k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
322k
        else {
6221
322k
            SCN_EXPECT(false);
6222
322k
            SCN_UNREACHABLE;
6223
322k
        }
6224
322k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
6192
328k
    {
6193
328k
        if constexpr (!detail::is_type_disabled<T> &&
6194
328k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
328k
            auto rd = make_reader<T, char_type>();
6198
328k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
328k
                return unexpected(e);
6200
328k
            }
6201
6202
328k
            return impl(rd, range, value);
6203
328k
        }
6204
328k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
328k
            auto rd = make_reader<T, char_type>();
6206
328k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
328k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
328k
                specs.width != 0) {
6212
328k
                return impl(rd, range, value);
6213
328k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
328k
        else {
6221
328k
            SCN_EXPECT(false);
6222
328k
            SCN_UNREACHABLE;
6223
328k
        }
6224
328k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6192
243k
    {
6193
243k
        if constexpr (!detail::is_type_disabled<T> &&
6194
243k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
243k
            auto rd = make_reader<T, char_type>();
6198
243k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
243k
                return unexpected(e);
6200
243k
            }
6201
6202
243k
            return impl(rd, range, value);
6203
243k
        }
6204
243k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
243k
            auto rd = make_reader<T, char_type>();
6206
243k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
243k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
243k
                specs.width != 0) {
6212
243k
                return impl(rd, range, value);
6213
243k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
243k
        else {
6221
243k
            SCN_EXPECT(false);
6222
243k
            SCN_UNREACHABLE;
6223
243k
        }
6224
243k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6192
277k
    {
6193
277k
        if constexpr (!detail::is_type_disabled<T> &&
6194
277k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
277k
            auto rd = make_reader<T, char_type>();
6198
277k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
277k
                return unexpected(e);
6200
277k
            }
6201
6202
277k
            return impl(rd, range, value);
6203
277k
        }
6204
277k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
277k
            auto rd = make_reader<T, char_type>();
6206
277k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
277k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
277k
                specs.width != 0) {
6212
277k
                return impl(rd, range, value);
6213
277k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
277k
        else {
6221
277k
            SCN_EXPECT(false);
6222
277k
            SCN_UNREACHABLE;
6223
277k
        }
6224
277k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6192
280k
    {
6193
280k
        if constexpr (!detail::is_type_disabled<T> &&
6194
280k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
280k
            auto rd = make_reader<T, char_type>();
6198
280k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
280k
                return unexpected(e);
6200
280k
            }
6201
6202
280k
            return impl(rd, range, value);
6203
280k
        }
6204
280k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
280k
            auto rd = make_reader<T, char_type>();
6206
280k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
280k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
280k
                specs.width != 0) {
6212
280k
                return impl(rd, range, value);
6213
280k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
280k
        else {
6221
280k
            SCN_EXPECT(false);
6222
280k
            SCN_UNREACHABLE;
6223
280k
        }
6224
280k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
6192
277k
    {
6193
277k
        if constexpr (!detail::is_type_disabled<T> &&
6194
277k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
277k
            auto rd = make_reader<T, char_type>();
6198
277k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
277k
                return unexpected(e);
6200
277k
            }
6201
6202
277k
            return impl(rd, range, value);
6203
277k
        }
6204
277k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
277k
            auto rd = make_reader<T, char_type>();
6206
277k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
277k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
277k
                specs.width != 0) {
6212
277k
                return impl(rd, range, value);
6213
277k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
277k
        else {
6221
277k
            SCN_EXPECT(false);
6222
277k
            SCN_UNREACHABLE;
6223
277k
        }
6224
277k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
6192
289k
    {
6193
289k
        if constexpr (!detail::is_type_disabled<T> &&
6194
289k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
289k
            auto rd = make_reader<T, char_type>();
6198
289k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
289k
                return unexpected(e);
6200
289k
            }
6201
6202
289k
            return impl(rd, range, value);
6203
289k
        }
6204
289k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
289k
            auto rd = make_reader<T, char_type>();
6206
289k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
289k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
289k
                specs.width != 0) {
6212
289k
                return impl(rd, range, value);
6213
289k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
289k
        else {
6221
289k
            SCN_EXPECT(false);
6222
289k
            SCN_UNREACHABLE;
6223
289k
        }
6224
289k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
6192
292k
    {
6193
292k
        if constexpr (!detail::is_type_disabled<T> &&
6194
292k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
292k
            auto rd = make_reader<T, char_type>();
6198
292k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
292k
                return unexpected(e);
6200
292k
            }
6201
6202
292k
            return impl(rd, range, value);
6203
292k
        }
6204
292k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
292k
            auto rd = make_reader<T, char_type>();
6206
292k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
292k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
292k
                specs.width != 0) {
6212
292k
                return impl(rd, range, value);
6213
292k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
292k
        else {
6221
292k
            SCN_EXPECT(false);
6222
292k
            SCN_UNREACHABLE;
6223
292k
        }
6224
292k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6192
134k
    {
6193
134k
        if constexpr (!detail::is_type_disabled<T> &&
6194
134k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
134k
            auto rd = make_reader<T, char_type>();
6198
134k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
134k
                return unexpected(e);
6200
134k
            }
6201
6202
134k
            return impl(rd, range, value);
6203
134k
        }
6204
134k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
134k
            auto rd = make_reader<T, char_type>();
6206
134k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
4.62k
                return unexpected(e);
6208
4.62k
            }
6209
6210
129k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
129k
                specs.width != 0) {
6212
129k
                return impl(rd, range, value);
6213
129k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
134k
        else {
6221
134k
            SCN_EXPECT(false);
6222
134k
            SCN_UNREACHABLE;
6223
134k
        }
6224
134k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
6192
47.1k
    {
6193
47.1k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.1k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.1k
            auto rd = make_reader<T, char_type>();
6198
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.1k
                return unexpected(e);
6200
47.1k
            }
6201
6202
47.1k
            return impl(rd, range, value);
6203
47.1k
        }
6204
47.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.1k
            auto rd = make_reader<T, char_type>();
6206
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.1k
                specs.width != 0) {
6212
47.1k
                return impl(rd, range, value);
6213
47.1k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.1k
        else {
6221
47.1k
            SCN_EXPECT(false);
6222
47.1k
            SCN_UNREACHABLE;
6223
47.1k
        }
6224
47.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
6192
47.2k
    {
6193
47.2k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.2k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.2k
            auto rd = make_reader<T, char_type>();
6198
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.2k
                return unexpected(e);
6200
47.2k
            }
6201
6202
47.2k
            return impl(rd, range, value);
6203
47.2k
        }
6204
47.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.2k
            auto rd = make_reader<T, char_type>();
6206
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.2k
                specs.width != 0) {
6212
47.2k
                return impl(rd, range, value);
6213
47.2k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.2k
        else {
6221
47.2k
            SCN_EXPECT(false);
6222
47.2k
            SCN_UNREACHABLE;
6223
47.2k
        }
6224
47.2k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
6192
47.3k
    {
6193
47.3k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.3k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.3k
            auto rd = make_reader<T, char_type>();
6198
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.3k
                return unexpected(e);
6200
47.3k
            }
6201
6202
47.3k
            return impl(rd, range, value);
6203
47.3k
        }
6204
47.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.3k
            auto rd = make_reader<T, char_type>();
6206
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.3k
                specs.width != 0) {
6212
47.3k
                return impl(rd, range, value);
6213
47.3k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.3k
        else {
6221
47.3k
            SCN_EXPECT(false);
6222
47.3k
            SCN_UNREACHABLE;
6223
47.3k
        }
6224
47.3k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6192
47.0k
    {
6193
47.0k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.0k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.0k
            auto rd = make_reader<T, char_type>();
6198
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.0k
                return unexpected(e);
6200
47.0k
            }
6201
6202
47.0k
            return impl(rd, range, value);
6203
47.0k
        }
6204
47.0k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.0k
            auto rd = make_reader<T, char_type>();
6206
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.0k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.0k
                specs.width != 0) {
6212
47.0k
                return impl(rd, range, value);
6213
47.0k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.0k
        else {
6221
47.0k
            SCN_EXPECT(false);
6222
47.0k
            SCN_UNREACHABLE;
6223
47.0k
        }
6224
47.0k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6192
47.1k
    {
6193
47.1k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.1k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.1k
            auto rd = make_reader<T, char_type>();
6198
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.1k
                return unexpected(e);
6200
47.1k
            }
6201
6202
47.1k
            return impl(rd, range, value);
6203
47.1k
        }
6204
47.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.1k
            auto rd = make_reader<T, char_type>();
6206
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.1k
                specs.width != 0) {
6212
47.1k
                return impl(rd, range, value);
6213
47.1k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.1k
        else {
6221
47.1k
            SCN_EXPECT(false);
6222
47.1k
            SCN_UNREACHABLE;
6223
47.1k
        }
6224
47.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6192
47.2k
    {
6193
47.2k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.2k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
47.2k
            auto rd = make_reader<T, char_type>();
6198
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
47.2k
                return unexpected(e);
6200
47.2k
            }
6201
6202
47.2k
            return impl(rd, range, value);
6203
47.2k
        }
6204
47.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.2k
            auto rd = make_reader<T, char_type>();
6206
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
47.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.2k
                specs.width != 0) {
6212
47.2k
                return impl(rd, range, value);
6213
47.2k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
47.2k
        else {
6221
47.2k
            SCN_EXPECT(false);
6222
47.2k
            SCN_UNREACHABLE;
6223
47.2k
        }
6224
47.2k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
6192
80.7k
    {
6193
80.7k
        if constexpr (!detail::is_type_disabled<T> &&
6194
80.7k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
80.7k
            auto rd = make_reader<T, char_type>();
6198
80.7k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
80.7k
                return unexpected(e);
6200
80.7k
            }
6201
6202
80.7k
            return impl(rd, range, value);
6203
80.7k
        }
6204
80.7k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
80.7k
            auto rd = make_reader<T, char_type>();
6206
80.7k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
80.7k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
80.7k
                specs.width != 0) {
6212
80.7k
                return impl(rd, range, value);
6213
80.7k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
80.7k
        else {
6221
80.7k
            SCN_EXPECT(false);
6222
80.7k
            SCN_UNREACHABLE;
6223
80.7k
        }
6224
80.7k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
6192
81.8k
    {
6193
81.8k
        if constexpr (!detail::is_type_disabled<T> &&
6194
81.8k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
81.8k
            auto rd = make_reader<T, char_type>();
6198
81.8k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
81.8k
                return unexpected(e);
6200
81.8k
            }
6201
6202
81.8k
            return impl(rd, range, value);
6203
81.8k
        }
6204
81.8k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
81.8k
            auto rd = make_reader<T, char_type>();
6206
81.8k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
81.8k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
81.8k
                specs.width != 0) {
6212
81.8k
                return impl(rd, range, value);
6213
81.8k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
81.8k
        else {
6221
81.8k
            SCN_EXPECT(false);
6222
81.8k
            SCN_UNREACHABLE;
6223
81.8k
        }
6224
81.8k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
6192
82.5k
    {
6193
82.5k
        if constexpr (!detail::is_type_disabled<T> &&
6194
82.5k
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
82.5k
            auto rd = make_reader<T, char_type>();
6198
82.5k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
82.5k
                return unexpected(e);
6200
82.5k
            }
6201
6202
82.5k
            return impl(rd, range, value);
6203
82.5k
        }
6204
82.5k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
82.5k
            auto rd = make_reader<T, char_type>();
6206
82.5k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
0
                return unexpected(e);
6208
0
            }
6209
6210
82.5k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
82.5k
                specs.width != 0) {
6212
82.5k
                return impl(rd, range, value);
6213
82.5k
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
82.5k
        else {
6221
82.5k
            SCN_EXPECT(false);
6222
82.5k
            SCN_UNREACHABLE;
6223
82.5k
        }
6224
82.5k
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6192
1.46M
    {
6193
1.46M
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.46M
                      std::is_same_v<
6195
0
                          context_type,
6196
0
                          basic_contiguous_scan_context<char_type>>) {
6197
1.46M
            auto rd = make_reader<T, char_type>();
6198
1.46M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.46M
                return unexpected(e);
6200
1.46M
            }
6201
6202
1.46M
            return impl(rd, range, value);
6203
1.46M
        }
6204
1.46M
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.46M
            auto rd = make_reader<T, char_type>();
6206
1.46M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
9.24k
                return unexpected(e);
6208
9.24k
            }
6209
6210
1.45M
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.45M
                specs.width != 0) {
6212
1.45M
                return impl(rd, range, value);
6213
1.45M
            }
6214
6215
0
            auto crange = get_as_contiguous(range);
6216
0
            SCN_TRY(it, impl(rd, crange, value));
6217
0
            return ranges::next(range.begin(),
6218
0
                                ranges::distance(crange.begin(), it));
6219
0
        }
6220
1.46M
        else {
6221
1.46M
            SCN_EXPECT(false);
6222
1.46M
            SCN_UNREACHABLE;
6223
1.46M
        }
6224
1.46M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<signed char>(signed char&)
Line
Count
Source
6192
247k
    {
6193
247k
        if constexpr (!detail::is_type_disabled<T> &&
6194
247k
                      std::is_same_v<
6195
0
                          context_type,
6196
247k
                          basic_contiguous_scan_context<char_type>>) {
6197
247k
            auto rd = make_reader<T, char_type>();
6198
247k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
247k
            return impl(rd, range, value);
6203
247k
        }
6204
247k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
247k
            auto rd = make_reader<T, char_type>();
6206
247k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
247k
                return unexpected(e);
6208
247k
            }
6209
6210
247k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
247k
                specs.width != 0) {
6212
247k
                return impl(rd, range, value);
6213
247k
            }
6214
6215
247k
            auto crange = get_as_contiguous(range);
6216
247k
            SCN_TRY(it, impl(rd, crange, value));
6217
247k
            return ranges::next(range.begin(),
6218
247k
                                ranges::distance(crange.begin(), it));
6219
247k
        }
6220
247k
        else {
6221
247k
            SCN_EXPECT(false);
6222
247k
            SCN_UNREACHABLE;
6223
247k
        }
6224
247k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<short>(short&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<int>(int&)
Line
Count
Source
6192
326k
    {
6193
326k
        if constexpr (!detail::is_type_disabled<T> &&
6194
326k
                      std::is_same_v<
6195
0
                          context_type,
6196
326k
                          basic_contiguous_scan_context<char_type>>) {
6197
326k
            auto rd = make_reader<T, char_type>();
6198
326k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.73k
                return unexpected(e);
6200
4.73k
            }
6201
6202
321k
            return impl(rd, range, value);
6203
326k
        }
6204
326k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
326k
            auto rd = make_reader<T, char_type>();
6206
326k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
326k
                return unexpected(e);
6208
326k
            }
6209
6210
326k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
326k
                specs.width != 0) {
6212
326k
                return impl(rd, range, value);
6213
326k
            }
6214
6215
326k
            auto crange = get_as_contiguous(range);
6216
326k
            SCN_TRY(it, impl(rd, crange, value));
6217
326k
            return ranges::next(range.begin(),
6218
326k
                                ranges::distance(crange.begin(), it));
6219
326k
        }
6220
326k
        else {
6221
326k
            SCN_EXPECT(false);
6222
326k
            SCN_UNREACHABLE;
6223
326k
        }
6224
326k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long>(long&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long long>(long long&)
Line
Count
Source
6192
326k
    {
6193
326k
        if constexpr (!detail::is_type_disabled<T> &&
6194
326k
                      std::is_same_v<
6195
0
                          context_type,
6196
326k
                          basic_contiguous_scan_context<char_type>>) {
6197
326k
            auto rd = make_reader<T, char_type>();
6198
326k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
326k
            return impl(rd, range, value);
6203
326k
        }
6204
326k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
326k
            auto rd = make_reader<T, char_type>();
6206
326k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
326k
                return unexpected(e);
6208
326k
            }
6209
6210
326k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
326k
                specs.width != 0) {
6212
326k
                return impl(rd, range, value);
6213
326k
            }
6214
6215
326k
            auto crange = get_as_contiguous(range);
6216
326k
            SCN_TRY(it, impl(rd, crange, value));
6217
326k
            return ranges::next(range.begin(),
6218
326k
                                ranges::distance(crange.begin(), it));
6219
326k
        }
6220
326k
        else {
6221
326k
            SCN_EXPECT(false);
6222
326k
            SCN_UNREACHABLE;
6223
326k
        }
6224
326k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6192
242k
    {
6193
242k
        if constexpr (!detail::is_type_disabled<T> &&
6194
242k
                      std::is_same_v<
6195
0
                          context_type,
6196
242k
                          basic_contiguous_scan_context<char_type>>) {
6197
242k
            auto rd = make_reader<T, char_type>();
6198
242k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
242k
            return impl(rd, range, value);
6203
242k
        }
6204
242k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
242k
            auto rd = make_reader<T, char_type>();
6206
242k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
242k
                return unexpected(e);
6208
242k
            }
6209
6210
242k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
242k
                specs.width != 0) {
6212
242k
                return impl(rd, range, value);
6213
242k
            }
6214
6215
242k
            auto crange = get_as_contiguous(range);
6216
242k
            SCN_TRY(it, impl(rd, crange, value));
6217
242k
            return ranges::next(range.begin(),
6218
242k
                                ranges::distance(crange.begin(), it));
6219
242k
        }
6220
242k
        else {
6221
242k
            SCN_EXPECT(false);
6222
242k
            SCN_UNREACHABLE;
6223
242k
        }
6224
242k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6192
281k
    {
6193
281k
        if constexpr (!detail::is_type_disabled<T> &&
6194
281k
                      std::is_same_v<
6195
0
                          context_type,
6196
281k
                          basic_contiguous_scan_context<char_type>>) {
6197
281k
            auto rd = make_reader<T, char_type>();
6198
281k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.73k
                return unexpected(e);
6200
4.73k
            }
6201
6202
276k
            return impl(rd, range, value);
6203
281k
        }
6204
281k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
281k
            auto rd = make_reader<T, char_type>();
6206
281k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
281k
                return unexpected(e);
6208
281k
            }
6209
6210
281k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
281k
                specs.width != 0) {
6212
281k
                return impl(rd, range, value);
6213
281k
            }
6214
6215
281k
            auto crange = get_as_contiguous(range);
6216
281k
            SCN_TRY(it, impl(rd, crange, value));
6217
281k
            return ranges::next(range.begin(),
6218
281k
                                ranges::distance(crange.begin(), it));
6219
281k
        }
6220
281k
        else {
6221
281k
            SCN_EXPECT(false);
6222
281k
            SCN_UNREACHABLE;
6223
281k
        }
6224
281k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6192
278k
    {
6193
278k
        if constexpr (!detail::is_type_disabled<T> &&
6194
278k
                      std::is_same_v<
6195
0
                          context_type,
6196
278k
                          basic_contiguous_scan_context<char_type>>) {
6197
278k
            auto rd = make_reader<T, char_type>();
6198
278k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
278k
            return impl(rd, range, value);
6203
278k
        }
6204
278k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
278k
            auto rd = make_reader<T, char_type>();
6206
278k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
278k
                return unexpected(e);
6208
278k
            }
6209
6210
278k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
278k
                specs.width != 0) {
6212
278k
                return impl(rd, range, value);
6213
278k
            }
6214
6215
278k
            auto crange = get_as_contiguous(range);
6216
278k
            SCN_TRY(it, impl(rd, crange, value));
6217
278k
            return ranges::next(range.begin(),
6218
278k
                                ranges::distance(crange.begin(), it));
6219
278k
        }
6220
278k
        else {
6221
278k
            SCN_EXPECT(false);
6222
278k
            SCN_UNREACHABLE;
6223
278k
        }
6224
278k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<void*>(void*&)
Line
Count
Source
6192
5.23k
    {
6193
5.23k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.23k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.23k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.23k
            auto rd = make_reader<T, char_type>();
6198
5.23k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.76k
                return unexpected(e);
6200
4.76k
            }
6201
6202
468
            return impl(rd, range, value);
6203
5.23k
        }
6204
5.23k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.23k
            auto rd = make_reader<T, char_type>();
6206
5.23k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.23k
                return unexpected(e);
6208
5.23k
            }
6209
6210
5.23k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.23k
                specs.width != 0) {
6212
5.23k
                return impl(rd, range, value);
6213
5.23k
            }
6214
6215
5.23k
            auto crange = get_as_contiguous(range);
6216
5.23k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.23k
            return ranges::next(range.begin(),
6218
5.23k
                                ranges::distance(crange.begin(), it));
6219
5.23k
        }
6220
5.23k
        else {
6221
5.23k
            SCN_EXPECT(false);
6222
5.23k
            SCN_UNREACHABLE;
6223
5.23k
        }
6224
5.23k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<bool>(bool&)
Line
Count
Source
6192
5.27k
    {
6193
5.27k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.27k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.27k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.27k
            auto rd = make_reader<T, char_type>();
6198
5.27k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.55k
                return unexpected(e);
6200
4.55k
            }
6201
6202
724
            return impl(rd, range, value);
6203
5.27k
        }
6204
5.27k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.27k
            auto rd = make_reader<T, char_type>();
6206
5.27k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.27k
                return unexpected(e);
6208
5.27k
            }
6209
6210
5.27k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.27k
                specs.width != 0) {
6212
5.27k
                return impl(rd, range, value);
6213
5.27k
            }
6214
6215
5.27k
            auto crange = get_as_contiguous(range);
6216
5.27k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.27k
            return ranges::next(range.begin(),
6218
5.27k
                                ranges::distance(crange.begin(), it));
6219
5.27k
        }
6220
5.27k
        else {
6221
5.27k
            SCN_EXPECT(false);
6222
5.27k
            SCN_UNREACHABLE;
6223
5.27k
        }
6224
5.27k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char>(char&)
Line
Count
Source
6192
5.23k
    {
6193
5.23k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.23k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.23k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.23k
            auto rd = make_reader<T, char_type>();
6198
5.23k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.71k
                return unexpected(e);
6200
4.71k
            }
6201
6202
518
            return impl(rd, range, value);
6203
5.23k
        }
6204
5.23k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.23k
            auto rd = make_reader<T, char_type>();
6206
5.23k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.23k
                return unexpected(e);
6208
5.23k
            }
6209
6210
5.23k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.23k
                specs.width != 0) {
6212
5.23k
                return impl(rd, range, value);
6213
5.23k
            }
6214
6215
5.23k
            auto crange = get_as_contiguous(range);
6216
5.23k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.23k
            return ranges::next(range.begin(),
6218
5.23k
                                ranges::distance(crange.begin(), it));
6219
5.23k
        }
6220
5.23k
        else {
6221
5.23k
            SCN_EXPECT(false);
6222
5.23k
            SCN_UNREACHABLE;
6223
5.23k
        }
6224
5.23k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<float>(float&)
Line
Count
Source
6192
242k
    {
6193
242k
        if constexpr (!detail::is_type_disabled<T> &&
6194
242k
                      std::is_same_v<
6195
0
                          context_type,
6196
242k
                          basic_contiguous_scan_context<char_type>>) {
6197
242k
            auto rd = make_reader<T, char_type>();
6198
242k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
242k
            return impl(rd, range, value);
6203
242k
        }
6204
242k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
242k
            auto rd = make_reader<T, char_type>();
6206
242k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
242k
                return unexpected(e);
6208
242k
            }
6209
6210
242k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
242k
                specs.width != 0) {
6212
242k
                return impl(rd, range, value);
6213
242k
            }
6214
6215
242k
            auto crange = get_as_contiguous(range);
6216
242k
            SCN_TRY(it, impl(rd, crange, value));
6217
242k
            return ranges::next(range.begin(),
6218
242k
                                ranges::distance(crange.begin(), it));
6219
242k
        }
6220
242k
        else {
6221
242k
            SCN_EXPECT(false);
6222
242k
            SCN_UNREACHABLE;
6223
242k
        }
6224
242k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<double>(double&)
Line
Count
Source
6192
256k
    {
6193
256k
        if constexpr (!detail::is_type_disabled<T> &&
6194
256k
                      std::is_same_v<
6195
0
                          context_type,
6196
256k
                          basic_contiguous_scan_context<char_type>>) {
6197
256k
            auto rd = make_reader<T, char_type>();
6198
256k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.73k
                return unexpected(e);
6200
4.73k
            }
6201
6202
251k
            return impl(rd, range, value);
6203
256k
        }
6204
256k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
256k
            auto rd = make_reader<T, char_type>();
6206
256k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
256k
                return unexpected(e);
6208
256k
            }
6209
6210
256k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
256k
                specs.width != 0) {
6212
256k
                return impl(rd, range, value);
6213
256k
            }
6214
6215
256k
            auto crange = get_as_contiguous(range);
6216
256k
            SCN_TRY(it, impl(rd, crange, value));
6217
256k
            return ranges::next(range.begin(),
6218
256k
                                ranges::distance(crange.begin(), it));
6219
256k
        }
6220
256k
        else {
6221
256k
            SCN_EXPECT(false);
6222
256k
            SCN_UNREACHABLE;
6223
256k
        }
6224
256k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<long double>(long double&)
Line
Count
Source
6192
254k
    {
6193
254k
        if constexpr (!detail::is_type_disabled<T> &&
6194
254k
                      std::is_same_v<
6195
0
                          context_type,
6196
254k
                          basic_contiguous_scan_context<char_type>>) {
6197
254k
            auto rd = make_reader<T, char_type>();
6198
254k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
254k
            return impl(rd, range, value);
6203
254k
        }
6204
254k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
254k
            auto rd = make_reader<T, char_type>();
6206
254k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
254k
                return unexpected(e);
6208
254k
            }
6209
6210
254k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
254k
                specs.width != 0) {
6212
254k
                return impl(rd, range, value);
6213
254k
            }
6214
6215
254k
            auto crange = get_as_contiguous(range);
6216
254k
            SCN_TRY(it, impl(rd, crange, value));
6217
254k
            return ranges::next(range.begin(),
6218
254k
                                ranges::distance(crange.begin(), it));
6219
254k
        }
6220
254k
        else {
6221
254k
            SCN_EXPECT(false);
6222
254k
            SCN_UNREACHABLE;
6223
254k
        }
6224
254k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
6192
124k
    {
6193
124k
        if constexpr (!detail::is_type_disabled<T> &&
6194
124k
                      std::is_same_v<
6195
0
                          context_type,
6196
124k
                          basic_contiguous_scan_context<char_type>>) {
6197
124k
            auto rd = make_reader<T, char_type>();
6198
124k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.75k
                return unexpected(e);
6200
4.75k
            }
6201
6202
119k
            return impl(rd, range, value);
6203
124k
        }
6204
124k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
124k
            auto rd = make_reader<T, char_type>();
6206
124k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
124k
                return unexpected(e);
6208
124k
            }
6209
6210
124k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
124k
                specs.width != 0) {
6212
124k
                return impl(rd, range, value);
6213
124k
            }
6214
6215
124k
            auto crange = get_as_contiguous(range);
6216
124k
            SCN_TRY(it, impl(rd, crange, value));
6217
124k
            return ranges::next(range.begin(),
6218
124k
                                ranges::distance(crange.begin(), it));
6219
124k
        }
6220
124k
        else {
6221
124k
            SCN_EXPECT(false);
6222
124k
            SCN_UNREACHABLE;
6223
124k
        }
6224
124k
    }
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6192
124k
    {
6193
124k
        if constexpr (!detail::is_type_disabled<T> &&
6194
124k
                      std::is_same_v<
6195
0
                          context_type,
6196
124k
                          basic_contiguous_scan_context<char_type>>) {
6197
124k
            auto rd = make_reader<T, char_type>();
6198
124k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
4.75k
                return unexpected(e);
6200
4.75k
            }
6201
6202
119k
            return impl(rd, range, value);
6203
124k
        }
6204
124k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
124k
            auto rd = make_reader<T, char_type>();
6206
124k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
124k
                return unexpected(e);
6208
124k
            }
6209
6210
124k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
124k
                specs.width != 0) {
6212
124k
                return impl(rd, range, value);
6213
124k
            }
6214
6215
124k
            auto crange = get_as_contiguous(range);
6216
124k
            SCN_TRY(it, impl(rd, crange, value));
6217
124k
            return ranges::next(range.begin(),
6218
124k
                                ranges::distance(crange.begin(), it));
6219
124k
        }
6220
124k
        else {
6221
124k
            SCN_EXPECT(false);
6222
124k
            SCN_UNREACHABLE;
6223
124k
        }
6224
124k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6192
5.23k
    {
6193
5.23k
        if constexpr (!detail::is_type_disabled<T> &&
6194
5.23k
                      std::is_same_v<
6195
0
                          context_type,
6196
5.23k
                          basic_contiguous_scan_context<char_type>>) {
6197
5.23k
            auto rd = make_reader<T, char_type>();
6198
5.23k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
128
                return unexpected(e);
6200
128
            }
6201
6202
5.10k
            return impl(rd, range, value);
6203
5.23k
        }
6204
5.23k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
5.23k
            auto rd = make_reader<T, char_type>();
6206
5.23k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
5.23k
                return unexpected(e);
6208
5.23k
            }
6209
6210
5.23k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
5.23k
                specs.width != 0) {
6212
5.23k
                return impl(rd, range, value);
6213
5.23k
            }
6214
6215
5.23k
            auto crange = get_as_contiguous(range);
6216
5.23k
            SCN_TRY(it, impl(rd, crange, value));
6217
5.23k
            return ranges::next(range.begin(),
6218
5.23k
                                ranges::distance(crange.begin(), it));
6219
5.23k
        }
6220
5.23k
        else {
6221
5.23k
            SCN_EXPECT(false);
6222
5.23k
            SCN_UNREACHABLE;
6223
5.23k
        }
6224
5.23k
    }
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<char const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<signed char>(signed char&)
Line
Count
Source
6192
47.1k
    {
6193
47.1k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.1k
                      std::is_same_v<
6195
0
                          context_type,
6196
47.1k
                          basic_contiguous_scan_context<char_type>>) {
6197
47.1k
            auto rd = make_reader<T, char_type>();
6198
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
47.1k
            return impl(rd, range, value);
6203
47.1k
        }
6204
47.1k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.1k
            auto rd = make_reader<T, char_type>();
6206
47.1k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
47.1k
                return unexpected(e);
6208
47.1k
            }
6209
6210
47.1k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.1k
                specs.width != 0) {
6212
47.1k
                return impl(rd, range, value);
6213
47.1k
            }
6214
6215
47.1k
            auto crange = get_as_contiguous(range);
6216
47.1k
            SCN_TRY(it, impl(rd, crange, value));
6217
47.1k
            return ranges::next(range.begin(),
6218
47.1k
                                ranges::distance(crange.begin(), it));
6219
47.1k
        }
6220
47.1k
        else {
6221
47.1k
            SCN_EXPECT(false);
6222
47.1k
            SCN_UNREACHABLE;
6223
47.1k
        }
6224
47.1k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<short>(short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<int>(int&)
Line
Count
Source
6192
49.7k
    {
6193
49.7k
        if constexpr (!detail::is_type_disabled<T> &&
6194
49.7k
                      std::is_same_v<
6195
0
                          context_type,
6196
49.7k
                          basic_contiguous_scan_context<char_type>>) {
6197
49.7k
            auto rd = make_reader<T, char_type>();
6198
49.7k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
2.06k
                return unexpected(e);
6200
2.06k
            }
6201
6202
47.7k
            return impl(rd, range, value);
6203
49.7k
        }
6204
49.7k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
49.7k
            auto rd = make_reader<T, char_type>();
6206
49.7k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
49.7k
                return unexpected(e);
6208
49.7k
            }
6209
6210
49.7k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
49.7k
                specs.width != 0) {
6212
49.7k
                return impl(rd, range, value);
6213
49.7k
            }
6214
6215
49.7k
            auto crange = get_as_contiguous(range);
6216
49.7k
            SCN_TRY(it, impl(rd, crange, value));
6217
49.7k
            return ranges::next(range.begin(),
6218
49.7k
                                ranges::distance(crange.begin(), it));
6219
49.7k
        }
6220
49.7k
        else {
6221
49.7k
            SCN_EXPECT(false);
6222
49.7k
            SCN_UNREACHABLE;
6223
49.7k
        }
6224
49.7k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long>(long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long long>(long long&)
Line
Count
Source
6192
47.3k
    {
6193
47.3k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.3k
                      std::is_same_v<
6195
0
                          context_type,
6196
47.3k
                          basic_contiguous_scan_context<char_type>>) {
6197
47.3k
            auto rd = make_reader<T, char_type>();
6198
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
47.3k
            return impl(rd, range, value);
6203
47.3k
        }
6204
47.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.3k
            auto rd = make_reader<T, char_type>();
6206
47.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
47.3k
                return unexpected(e);
6208
47.3k
            }
6209
6210
47.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.3k
                specs.width != 0) {
6212
47.3k
                return impl(rd, range, value);
6213
47.3k
            }
6214
6215
47.3k
            auto crange = get_as_contiguous(range);
6216
47.3k
            SCN_TRY(it, impl(rd, crange, value));
6217
47.3k
            return ranges::next(range.begin(),
6218
47.3k
                                ranges::distance(crange.begin(), it));
6219
47.3k
        }
6220
47.3k
        else {
6221
47.3k
            SCN_EXPECT(false);
6222
47.3k
            SCN_UNREACHABLE;
6223
47.3k
        }
6224
47.3k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&)
Line
Count
Source
6192
47.0k
    {
6193
47.0k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.0k
                      std::is_same_v<
6195
0
                          context_type,
6196
47.0k
                          basic_contiguous_scan_context<char_type>>) {
6197
47.0k
            auto rd = make_reader<T, char_type>();
6198
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
47.0k
            return impl(rd, range, value);
6203
47.0k
        }
6204
47.0k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.0k
            auto rd = make_reader<T, char_type>();
6206
47.0k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
47.0k
                return unexpected(e);
6208
47.0k
            }
6209
6210
47.0k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.0k
                specs.width != 0) {
6212
47.0k
                return impl(rd, range, value);
6213
47.0k
            }
6214
6215
47.0k
            auto crange = get_as_contiguous(range);
6216
47.0k
            SCN_TRY(it, impl(rd, crange, value));
6217
47.0k
            return ranges::next(range.begin(),
6218
47.0k
                                ranges::distance(crange.begin(), it));
6219
47.0k
        }
6220
47.0k
        else {
6221
47.0k
            SCN_EXPECT(false);
6222
47.0k
            SCN_UNREACHABLE;
6223
47.0k
        }
6224
47.0k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&)
Line
Count
Source
6192
49.6k
    {
6193
49.6k
        if constexpr (!detail::is_type_disabled<T> &&
6194
49.6k
                      std::is_same_v<
6195
0
                          context_type,
6196
49.6k
                          basic_contiguous_scan_context<char_type>>) {
6197
49.6k
            auto rd = make_reader<T, char_type>();
6198
49.6k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
2.06k
                return unexpected(e);
6200
2.06k
            }
6201
6202
47.5k
            return impl(rd, range, value);
6203
49.6k
        }
6204
49.6k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
49.6k
            auto rd = make_reader<T, char_type>();
6206
49.6k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
49.6k
                return unexpected(e);
6208
49.6k
            }
6209
6210
49.6k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
49.6k
                specs.width != 0) {
6212
49.6k
                return impl(rd, range, value);
6213
49.6k
            }
6214
6215
49.6k
            auto crange = get_as_contiguous(range);
6216
49.6k
            SCN_TRY(it, impl(rd, crange, value));
6217
49.6k
            return ranges::next(range.begin(),
6218
49.6k
                                ranges::distance(crange.begin(), it));
6219
49.6k
        }
6220
49.6k
        else {
6221
49.6k
            SCN_EXPECT(false);
6222
49.6k
            SCN_UNREACHABLE;
6223
49.6k
        }
6224
49.6k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&)
Line
Count
Source
6192
47.2k
    {
6193
47.2k
        if constexpr (!detail::is_type_disabled<T> &&
6194
47.2k
                      std::is_same_v<
6195
0
                          context_type,
6196
47.2k
                          basic_contiguous_scan_context<char_type>>) {
6197
47.2k
            auto rd = make_reader<T, char_type>();
6198
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
47.2k
            return impl(rd, range, value);
6203
47.2k
        }
6204
47.2k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
47.2k
            auto rd = make_reader<T, char_type>();
6206
47.2k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
47.2k
                return unexpected(e);
6208
47.2k
            }
6209
6210
47.2k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
47.2k
                specs.width != 0) {
6212
47.2k
                return impl(rd, range, value);
6213
47.2k
            }
6214
6215
47.2k
            auto crange = get_as_contiguous(range);
6216
47.2k
            SCN_TRY(it, impl(rd, crange, value));
6217
47.2k
            return ranges::next(range.begin(),
6218
47.2k
                                ranges::distance(crange.begin(), it));
6219
47.2k
        }
6220
47.2k
        else {
6221
47.2k
            SCN_EXPECT(false);
6222
47.2k
            SCN_UNREACHABLE;
6223
47.2k
        }
6224
47.2k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<void*>(void*&)
Line
Count
Source
6192
2.48k
    {
6193
2.48k
        if constexpr (!detail::is_type_disabled<T> &&
6194
2.48k
                      std::is_same_v<
6195
0
                          context_type,
6196
2.48k
                          basic_contiguous_scan_context<char_type>>) {
6197
2.48k
            auto rd = make_reader<T, char_type>();
6198
2.48k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
2.08k
                return unexpected(e);
6200
2.08k
            }
6201
6202
398
            return impl(rd, range, value);
6203
2.48k
        }
6204
2.48k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
2.48k
            auto rd = make_reader<T, char_type>();
6206
2.48k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
2.48k
                return unexpected(e);
6208
2.48k
            }
6209
6210
2.48k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
2.48k
                specs.width != 0) {
6212
2.48k
                return impl(rd, range, value);
6213
2.48k
            }
6214
6215
2.48k
            auto crange = get_as_contiguous(range);
6216
2.48k
            SCN_TRY(it, impl(rd, crange, value));
6217
2.48k
            return ranges::next(range.begin(),
6218
2.48k
                                ranges::distance(crange.begin(), it));
6219
2.48k
        }
6220
2.48k
        else {
6221
2.48k
            SCN_EXPECT(false);
6222
2.48k
            SCN_UNREACHABLE;
6223
2.48k
        }
6224
2.48k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<bool>(bool&)
Line
Count
Source
6192
2.51k
    {
6193
2.51k
        if constexpr (!detail::is_type_disabled<T> &&
6194
2.51k
                      std::is_same_v<
6195
0
                          context_type,
6196
2.51k
                          basic_contiguous_scan_context<char_type>>) {
6197
2.51k
            auto rd = make_reader<T, char_type>();
6198
2.51k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
1.99k
                return unexpected(e);
6200
1.99k
            }
6201
6202
522
            return impl(rd, range, value);
6203
2.51k
        }
6204
2.51k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
2.51k
            auto rd = make_reader<T, char_type>();
6206
2.51k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
2.51k
                return unexpected(e);
6208
2.51k
            }
6209
6210
2.51k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
2.51k
                specs.width != 0) {
6212
2.51k
                return impl(rd, range, value);
6213
2.51k
            }
6214
6215
2.51k
            auto crange = get_as_contiguous(range);
6216
2.51k
            SCN_TRY(it, impl(rd, crange, value));
6217
2.51k
            return ranges::next(range.begin(),
6218
2.51k
                                ranges::distance(crange.begin(), it));
6219
2.51k
        }
6220
2.51k
        else {
6221
2.51k
            SCN_EXPECT(false);
6222
2.51k
            SCN_UNREACHABLE;
6223
2.51k
        }
6224
2.51k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char>(char&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&)
Line
Count
Source
6192
2.48k
    {
6193
2.48k
        if constexpr (!detail::is_type_disabled<T> &&
6194
2.48k
                      std::is_same_v<
6195
0
                          context_type,
6196
2.48k
                          basic_contiguous_scan_context<char_type>>) {
6197
2.48k
            auto rd = make_reader<T, char_type>();
6198
2.48k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
2.05k
                return unexpected(e);
6200
2.05k
            }
6201
6202
432
            return impl(rd, range, value);
6203
2.48k
        }
6204
2.48k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
2.48k
            auto rd = make_reader<T, char_type>();
6206
2.48k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
2.48k
                return unexpected(e);
6208
2.48k
            }
6209
6210
2.48k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
2.48k
                specs.width != 0) {
6212
2.48k
                return impl(rd, range, value);
6213
2.48k
            }
6214
6215
2.48k
            auto crange = get_as_contiguous(range);
6216
2.48k
            SCN_TRY(it, impl(rd, crange, value));
6217
2.48k
            return ranges::next(range.begin(),
6218
2.48k
                                ranges::distance(crange.begin(), it));
6219
2.48k
        }
6220
2.48k
        else {
6221
2.48k
            SCN_EXPECT(false);
6222
2.48k
            SCN_UNREACHABLE;
6223
2.48k
        }
6224
2.48k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<float>(float&)
Line
Count
Source
6192
80.7k
    {
6193
80.7k
        if constexpr (!detail::is_type_disabled<T> &&
6194
80.7k
                      std::is_same_v<
6195
0
                          context_type,
6196
80.7k
                          basic_contiguous_scan_context<char_type>>) {
6197
80.7k
            auto rd = make_reader<T, char_type>();
6198
80.7k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
80.7k
            return impl(rd, range, value);
6203
80.7k
        }
6204
80.7k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
80.7k
            auto rd = make_reader<T, char_type>();
6206
80.7k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
80.7k
                return unexpected(e);
6208
80.7k
            }
6209
6210
80.7k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
80.7k
                specs.width != 0) {
6212
80.7k
                return impl(rd, range, value);
6213
80.7k
            }
6214
6215
80.7k
            auto crange = get_as_contiguous(range);
6216
80.7k
            SCN_TRY(it, impl(rd, crange, value));
6217
80.7k
            return ranges::next(range.begin(),
6218
80.7k
                                ranges::distance(crange.begin(), it));
6219
80.7k
        }
6220
80.7k
        else {
6221
80.7k
            SCN_EXPECT(false);
6222
80.7k
            SCN_UNREACHABLE;
6223
80.7k
        }
6224
80.7k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<double>(double&)
Line
Count
Source
6192
84.3k
    {
6193
84.3k
        if constexpr (!detail::is_type_disabled<T> &&
6194
84.3k
                      std::is_same_v<
6195
0
                          context_type,
6196
84.3k
                          basic_contiguous_scan_context<char_type>>) {
6197
84.3k
            auto rd = make_reader<T, char_type>();
6198
84.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
2.07k
                return unexpected(e);
6200
2.07k
            }
6201
6202
82.2k
            return impl(rd, range, value);
6203
84.3k
        }
6204
84.3k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
84.3k
            auto rd = make_reader<T, char_type>();
6206
84.3k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
84.3k
                return unexpected(e);
6208
84.3k
            }
6209
6210
84.3k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
84.3k
                specs.width != 0) {
6212
84.3k
                return impl(rd, range, value);
6213
84.3k
            }
6214
6215
84.3k
            auto crange = get_as_contiguous(range);
6216
84.3k
            SCN_TRY(it, impl(rd, crange, value));
6217
84.3k
            return ranges::next(range.begin(),
6218
84.3k
                                ranges::distance(crange.begin(), it));
6219
84.3k
        }
6220
84.3k
        else {
6221
84.3k
            SCN_EXPECT(false);
6222
84.3k
            SCN_UNREACHABLE;
6223
84.3k
        }
6224
84.3k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<long double>(long double&)
Line
Count
Source
6192
82.6k
    {
6193
82.6k
        if constexpr (!detail::is_type_disabled<T> &&
6194
82.6k
                      std::is_same_v<
6195
0
                          context_type,
6196
82.6k
                          basic_contiguous_scan_context<char_type>>) {
6197
82.6k
            auto rd = make_reader<T, char_type>();
6198
82.6k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
0
                return unexpected(e);
6200
0
            }
6201
6202
82.6k
            return impl(rd, range, value);
6203
82.6k
        }
6204
82.6k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
82.6k
            auto rd = make_reader<T, char_type>();
6206
82.6k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
82.6k
                return unexpected(e);
6208
82.6k
            }
6209
6210
82.6k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
82.6k
                specs.width != 0) {
6212
82.6k
                return impl(rd, range, value);
6213
82.6k
            }
6214
6215
82.6k
            auto crange = get_as_contiguous(range);
6216
82.6k
            SCN_TRY(it, impl(rd, crange, value));
6217
82.6k
            return ranges::next(range.begin(),
6218
82.6k
                                ranges::distance(crange.begin(), it));
6219
82.6k
        }
6220
82.6k
        else {
6221
82.6k
            SCN_EXPECT(false);
6222
82.6k
            SCN_UNREACHABLE;
6223
82.6k
        }
6224
82.6k
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
6192
2.48k
    {
6193
2.48k
        if constexpr (!detail::is_type_disabled<T> &&
6194
2.48k
                      std::is_same_v<
6195
0
                          context_type,
6196
2.48k
                          basic_contiguous_scan_context<char_type>>) {
6197
2.48k
            auto rd = make_reader<T, char_type>();
6198
2.48k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
80
                return unexpected(e);
6200
80
            }
6201
6202
2.40k
            return impl(rd, range, value);
6203
2.48k
        }
6204
2.48k
        else if constexpr (!detail::is_type_disabled<T>) {
6205
2.48k
            auto rd = make_reader<T, char_type>();
6206
2.48k
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
2.48k
                return unexpected(e);
6208
2.48k
            }
6209
6210
2.48k
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
2.48k
                specs.width != 0) {
6212
2.48k
                return impl(rd, range, value);
6213
2.48k
            }
6214
6215
2.48k
            auto crange = get_as_contiguous(range);
6216
2.48k
            SCN_TRY(it, impl(rd, crange, value));
6217
2.48k
            return ranges::next(range.begin(),
6218
2.48k
                                ranges::distance(crange.begin(), it));
6219
2.48k
        }
6220
2.48k
        else {
6221
2.48k
            SCN_EXPECT(false);
6222
2.48k
            SCN_UNREACHABLE;
6223
2.48k
        }
6224
2.48k
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
6192
1.46M
    {
6193
1.46M
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.46M
                      std::is_same_v<
6195
0
                          context_type,
6196
1.46M
                          basic_contiguous_scan_context<char_type>>) {
6197
1.46M
            auto rd = make_reader<T, char_type>();
6198
1.46M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
9.32k
                return unexpected(e);
6200
9.32k
            }
6201
6202
1.45M
            return impl(rd, range, value);
6203
1.46M
        }
6204
1.46M
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.46M
            auto rd = make_reader<T, char_type>();
6206
1.46M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.46M
                return unexpected(e);
6208
1.46M
            }
6209
6210
1.46M
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.46M
                specs.width != 0) {
6212
1.46M
                return impl(rd, range, value);
6213
1.46M
            }
6214
6215
1.46M
            auto crange = get_as_contiguous(range);
6216
1.46M
            SCN_TRY(it, impl(rd, crange, value));
6217
1.46M
            return ranges::next(range.begin(),
6218
1.46M
                                ranges::distance(crange.begin(), it));
6219
1.46M
        }
6220
1.46M
        else {
6221
1.46M
            SCN_EXPECT(false);
6222
1.46M
            SCN_UNREACHABLE;
6223
1.46M
        }
6224
1.46M
    }
scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
6192
1.46M
    {
6193
1.46M
        if constexpr (!detail::is_type_disabled<T> &&
6194
1.46M
                      std::is_same_v<
6195
0
                          context_type,
6196
1.46M
                          basic_contiguous_scan_context<char_type>>) {
6197
1.46M
            auto rd = make_reader<T, char_type>();
6198
1.46M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6199
9.32k
                return unexpected(e);
6200
9.32k
            }
6201
6202
1.45M
            return impl(rd, range, value);
6203
1.46M
        }
6204
1.46M
        else if constexpr (!detail::is_type_disabled<T>) {
6205
1.46M
            auto rd = make_reader<T, char_type>();
6206
1.46M
            if (auto e = rd.check_specs(specs); SCN_UNLIKELY(!e)) {
6207
1.46M
                return unexpected(e);
6208
1.46M
            }
6209
6210
1.46M
            if (!is_segment_contiguous(range) || specs.precision != 0 ||
6211
1.46M
                specs.width != 0) {
6212
1.46M
                return impl(rd, range, value);
6213
1.46M
            }
6214
6215
1.46M
            auto crange = get_as_contiguous(range);
6216
1.46M
            SCN_TRY(it, impl(rd, crange, value));
6217
1.46M
            return ranges::next(range.begin(),
6218
1.46M
                                ranges::distance(crange.begin(), it));
6219
1.46M
        }
6220
1.46M
        else {
6221
1.46M
            SCN_EXPECT(false);
6222
1.46M
            SCN_UNREACHABLE;
6223
1.46M
        }
6224
1.46M
    }
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&)
Unexecuted instantiation: scn::v3::scan_expected<wchar_t const*> scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&)
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&)
6225
6226
    scan_expected<iterator> operator()(typename context_type::arg_type::handle)
6227
0
    {
6228
0
        SCN_EXPECT(false);
6229
0
        SCN_UNREACHABLE;
6230
0
    }
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
Unexecuted instantiation: scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle)
6231
6232
    range_type range;
6233
    const detail::format_specs& specs;
6234
    detail::locale_ref loc;
6235
};
6236
6237
template <typename Context>
6238
struct custom_reader {
6239
    using context_type = Context;
6240
    using char_type = typename context_type::char_type;
6241
    using parse_context_type = typename context_type::parse_context_type;
6242
    using iterator = typename context_type::iterator;
6243
6244
    template <typename T>
6245
    scan_expected<iterator> operator()(T&) const
6246
0
    {
6247
0
        SCN_EXPECT(false);
6248
0
        SCN_UNREACHABLE;
6249
0
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()<scn::v3::monostate>(scn::v3::monostate&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<signed char>(signed char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<short>(short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<int>(int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long>(long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long long>(long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned char>(unsigned char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned short>(unsigned short&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned int>(unsigned int&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long>(unsigned long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<unsigned long long>(unsigned long long&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<void*>(void*&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<bool>(bool&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char>(char&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<wchar_t>(wchar_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<char32_t>(char32_t&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<float>(float&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<double>(double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<long double>(long double&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<char> >(scn::v3::basic_regex_matches<char>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::basic_regex_matches<wchar_t> >(scn::v3::basic_regex_matches<wchar_t>&) const
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()<scn::v3::monostate>(scn::v3::monostate&) const
6250
6251
    scan_expected<iterator> operator()(
6252
        typename context_type::arg_type::handle h) const
6253
0
    {
6254
0
        if (auto e = h.scan(parse_ctx, ctx); !e) {
6255
0
            return unexpected(e);
6256
0
        }
6257
0
        return {ctx.begin()};
6258
0
    }
Unexecuted instantiation: scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle) const
Unexecuted instantiation: scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >::operator()(scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle) const
6259
6260
    parse_context_type& parse_ctx;
6261
    context_type& ctx;
6262
};
6263
}  // namespace impl
6264
6265
SCN_END_NAMESPACE
6266
}  // namespace scn